首页编程java编程java正则表达式基本语法 java基础知识重点总结

java正则表达式基本语法 java基础知识重点总结

编程之家2026-06-061093次浏览

大家好,关于java正则表达式基本语法很多朋友都还不太明白,今天小编就来为大家分享关于java基础知识重点总结的知识,希望对各位有所帮助!

java正则表达式基本语法 java基础知识重点总结

关于java的正则表达

问题说得不清楚具体用什么技术实现啊,对比的要求是什么先贴个教程你可以先看下

正则表达式

"^\\d+$"//非负整数(正整数+ 0)

"^[0-9]*[1-9][0-9]*$"//正整数

"^((-\\d+)|(0+))$"//非正整数(负整数+ 0)

"^-[0-9]*[1-9][0-9]*$"//负整数

java正则表达式基本语法 java基础知识重点总结

"^-?\\d+$"//整数

"^\\d+(\\.\\d+)?$"//非负浮点数(正浮点数+ 0)

"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"//正浮点数

"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"//非正浮点数(负浮点数+ 0)

"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"//负浮点数

"^(-?\\d+)(\\.\\d+)?$"//浮点数

java正则表达式基本语法 java基础知识重点总结

"^[A-Za-z]+$"//由26个英文字母组成的字符串

"^[A-Z]+$"//由26个英文字母的大写组成的字符串

"^[a-z]+$"//由26个英文字母的小写组成的字符串

"^[A-Za-z0-9]+$"//由数字和26个英文字母组成的字符串

"^\\w+$"//由数字、26个英文字母或者下划线组成的字符串

"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"//email地址

"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"//url

"^[A-Za-z0-9_]*$"

正则表达式使用详解

简介

简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下:

测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。

替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。

根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。

基本语法

在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。

正则表达式的形式一般如下:

/love/其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入“/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。

较为常用的元字符包括:“+”,“*”,以及“?”。

“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。

“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。

“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。

下面,就让我们来看一下正则表达式元字符的具体应用。

/fo+/因为上述正则表达式中包含“+”元字符,表示可以与目标对象中的“fool”,“fo”,或者“football”等在字母f后面连续出现一个或多个字母o的字符串相匹配。

/eg*/因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的“easy”,“ego”,或者“egg”等在字母e后面连续出现零个或多个字母g的字符串相匹配。

/Wil?/因为上述正则表达式中包含“?”元字符,表示可以与目标对象中的“Win”,或者“Wilson”,等在字母i后面连续出现零个或一个字母l的字符串相匹配。

有时候不知道要匹配多少字符。为了能适应这种不确定性,正则表达式支持限定符的概念。这些限定符可以指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。

{n} n是一个非负整数。匹配确定的 n次。例如,'o{2}'不能匹配"Bob"中的'o',但是能匹配"food"中的两个 o。

{n,} n是一个非负整数。至少匹配 n次。例如,'o{2,}'不能匹配"Bob"中的'o',但能匹配"foooood"中的所有 o。'o{1,}'等价于'o+'。'o{0,}'则等价于'o*'。

{n,m} m和 n均为非负整数,其中n<= m。最少匹配 n次且最多匹配 m次。例如,"o{1,3}"将匹配"fooooood"中的前三个 o。'o{0,1}'等价于'o?'。请注意在逗号和两个数之间不能有空格。

除了元字符之外,用户还可以精确指定模式在匹配对象中出现的频率。例如,/jim{2,6}/上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。

在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。

\s:用于匹配单个空格符,包括tab键和换行符;

\S:用于匹配除单个空格符之外的所有字符;

\d:用于匹配从0到9的数字;

\w:用于匹配字母,数字或下划线字符;

\W:用于匹配所有与\w不匹配的字符;

.:用于匹配除换行符之外的所有字符。

(说明:我们可以把\s和\S以及\w和\W看作互为逆运算)

下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。

/\s+/上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。

/\d000/如果我们手中有一份复杂的财务报表,那么我们可以通过上述正则表达式轻而易举的查找到所有总额达千元的款项。

除了我们以上所介绍的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即定位符。定位符用于规定匹配模式在目标对象中的出现位置。较为常用的定位符包括:“^”,“$”,“\b”以及“\B”。

“^”定位符规定匹配模式必须出现在目标字符串的开头

“$”定位符规定匹配模式必须出现在目标对象的结尾

“\b”定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一

“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。同样,我们也可以把“^”和“$”以及“\b”和“\B”看作是互为逆运算的两组定位符。举例来说:/^hell/因为上述正则表达式中包含“^”定位符,所以可以与目标对象中以“hell”,“hello”或“hellhound”开头的字符串相匹配。/ar$/因为上述正则表达式中包含“$”定位符,所以可以与目标对象中以“car”,“bar”或“ar”结尾的字符串相匹配。/\bbom/因为上述正则表达式模式以“\b”定位符开头,所以可以与目标对象中以“bomb”,或“bom”开头的字符串相匹配。/man\b/因为上述正则表达式模式以“\b”定位符结尾,所以可以与目标对象中以“human”,“woman”或“man”结尾的字符串相匹配。

为了能够方便用户更加灵活的设定匹配模式,正则表达式允许使用者在匹配模式中指定某一个范围而不局限于具体的字符。例如:

/[A-Z]/上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。

/[a-z]/上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。

/[0-9]/上述正则表达式将会与从0到9范围内任何一个数字相匹配。

/([a-z][A-Z][0-9])+/上述正则表达式将会与任何由字母和数字组成的字符串,如“aB0”等相匹配。这里需要提醒用户注意的一点就是可以在正则表达式中使用“()”把字符串组合在一起。“()”符号包含的内容必须同时出现在目标对象中。因此,上述正则表达式将无法与诸如“abc”等的字符串匹配,因为“abc”中的最后一个字符为字母而非数字。

如果我们希望在正则表达式中实现类似编程逻辑中的“或”运算,在多个不同的模式中任选一个进行匹配的话,可以使用管道符“|”。例如:/to|too|2/上述正则表达式将会与目标对象中的“to”,“too”,或“2”相匹配。

正则表达式中还有一个较为常用的运算符,即否定符“[^]”。与我们前文所介绍的定位符“^”不同,否定符“[^]”规定目标对象中不能存在模式中所规定的字符串。例如:/[^A-C]/上述字符串将会与目标对象中除A,B,和C之外的任何字符相匹配。一般来说,当“^”出现在“[]”内时就被视做否定运算符;而当“^”位于“[]”之外,或没有“[]”时,则应当被视做定位符。

最后,当用户需要在正则表达式的模式中加入元字符,并查找其匹配对象时,可以使用转义符“\”。例如:/Th\*/上述正则表达式将会与目标对象中的“Th*”而非“The”等相匹配。

在构造正则表达式之后,就可以象数学表达式一样来求值,也就是说,可以从左至右并按照一个优先级顺序来求值。优先级如下:

1.\转义符

2.(),(?=), []圆括号和方括号

3.*,+,?,{n},{n,},{n,m}限定符

4.^,$,\anymetacharacter位置和顺序

5.|“或”操作

正则表达式的基本规则

正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。

其实,只要了解一种语言的正则使用,其他语言的正则使用起来,也就完全没有什么问题了。下面,我们就来讲讲正则表达式的一些基本规则。

一、起始与结束定位符(^与$)

起始与结束定位符是用来描述字符串的开始与结尾。如:"^"表示行匹配的字符串的开始,"$"表示字符串的结尾,如:/^aaa(.*?)bbb$/,表示一个要匹配的字符串是以aaa开始的,bbb结尾的,中间可以穿插任意字符串。

二、选择字符"|"

选择字符表示或的意思。如(my|your)baby,mybaby与yourbaby都可以匹配到。

三、万能匹配符.

"."在正则表达式中代表任意字符,但是只代表一个。

四、数量匹配运算符"+","*","?"

"*"代表0或多次,"+"代表1或多次,"?"代表0或1次。

五、贪婪模式与非贪婪模式

前面说过?是0个或1个的意思。如果您正则表达式是用于字符串替换的,那么贪婪模式就是所有匹配的都替换,非贪婪模式就是只替换第一个。通常在一个表达式后添加?就是非贪婪模式,

综合实例,如何将一个网址news.html,news-page-1.html,news-page-2.html,news-page-3.html用一个正则表达式都匹配起来。

答:/^news(.*?)\.html$/

正则表达式入门经典的目录

第1章正则表达式概述

1.1什么是正则表达式

1.2可以使用正则表达式做什么

1.3使用过的正则表达式

1.4为什么正则表达式看起来令人生畏

1.5支持正则表达式的语言

1.6替换大量文本

第2章正则表达式工具和使用方法

2.1正则表达式工具

2.2基于语言和平台的工具

2.3使用正则表达式的分析方法

第3章简单的正则表达式

3.1匹配单个字符

3.2匹配可选字符

3.3其他限量操作符

3.4大括号语法

3.5练习

第4章元字符和修饰符

4.1正则表达式的元字符

4.2空白和非空白元字符

4.3修饰符

4.4练习

第5章字符类

5.1字符类概述

5.2在字符类中使用范围

5.3字符类中元字符的含义

5.4对字符类取反

5.5POSIX字符类

5.6练习

第6章字符串.行和词边界

6.1字符串.行和词边界

6.2什么是词

6.3识别词边界

6.4练习

第7章正则表达式中的圆括号

7.1使用圆括号分组

7.2交替选择

7.3捕获圆括号

7.4非捕获的圆括号

7.5反向引用

7.6练习

第8章向前查找和向后查找

8.1为什么需要向前查找和向后查找

8.2向前查找

8.3肯定式向前查找的例子

8.4向后查找

8.5如何匹配位置

8.6练习

第9章正则表达式的灵敏度和特殊性

9.1什么是灵敏度和特殊性

9.2灵敏度和特殊性的平衡

9.3元字符如何影响灵敏度和特殊性

9.4了解数据.灵敏度和特殊性

9.5重新分析StarTrainingCompany的例子

9.6练习

第10章说明和调试正则表达式

10.1说明正则表达式

10.2了解你的数据

10.3创建测试用例

10.4调试正则表达式

第11章在MicrosoftWord中使用正则表达式

11.1用户界面

11.2可用的元字符

11.3例子

11.4搜索和替换的例子

11.5VBA中的正则表达式

11.6练习

第12章在StarOffice/OpenOffice.orgWriter中使用正则表达式..

12.1用户界面

12.2可用的元字符

12.3搜索的例子

12.4搜索和替换的例子

12.5POSIX字符类

12.6练习

第13章通过findstr使用正则表达式

13.1findstr简介

13.2findstr支持的元字符

13.3词边界位置

13.4行开始位置和结束位置

13.5单个文件的例子

13.6多个文件的例子

13.7文件列表的例子

13.8练习

第14章PowerGREP

14.1PowerGREP的界面

14.2PowerGREP支持的元字符

14.3复杂一点的例子

14.4练习

第15章MicrosoftExcel中的通配符

15.1Excel的查找界面

15.2Excel支持的通配符

15.3在记录单中使用通配符

15.4在筛选中使用通配符

15.5练习

第16章SQLServer2000中的正则表达式功能

16.1支持的元字符

16.2在LIKE中使用正则表达式

16.3对字符类取反

16.4使用全文搜索

16.5图像字段中的筛选器

16.6练习

第17章在MySQL中使用正则表达式

17.1MySQL简介

17.2MySQL支持的元字符

17.3使用REGEXP关键字和元字符

17.4社会保险号的例子

17.5练习

第18章正则表达式与MicrosoftAccess

18.1MicrosoftAccess中元字符的用法

18.2Access支持的元字符

18.3使用#元字符

18.4使用#字符匹配日期/时间数据

18.5在Access中使用字符类

18.6练习

第19章JScdpt和JavaScript中的正则表达式

19.1在JavaScript和JScript中使用正则表达式

19.2JavaScript和JScnPt中的元字符

19.3说明JavaScript正则表达式

19.4验证SSN的例子

19.5练习

第20章正则表达式与VBS

20.1RegExp对象及其用法

20.2使用Match对象和Matches集合

20.3VBScript支持的元字

20.4练习

第21章VisualBasic. NET与正则表达式

21.1System.Text.RegularExpressions命名空间

21.2VisualBasic. NET支持的元字符

21.3练习

第22章C#和正则表达式

22.1System.Text.RegularExpressions命名空间中的类

22.2VisualC#.NET支持的元字符

22.3练习

第23章PHP和正则表达式

23.1PHP5.0入门

23.2PHP组件如何支持正则表达式

23.3PHP支持的元字符

23.4练习

第24章W3CXMLSchema中的正则表达式

24.1W3CXMLSchema基础

24.2练习

第25章Java中的正则表达式

25.1java.util.regex包简介

25.2java.util.regex包中支持的元字符

25.3使用String类的方法

25.4练习

第26章Peri中的正则表达式

26.1下载并安装Perl

26.2使用Perl正则表达式的基本条件

26.3使用Perl正则表达式

26.4Perl支持的元字符

26.5在Perl中使用正则表达式匹配模式

26.6一个简单的PerlRegex测试程序

26.7练习

附录练习答案

……

OK,本文到此结束,希望对大家有所帮助。

ai人工智能对话软件 和ai的人说话聊天的软件。解析json数组?json返回数组