谁知道(三)java正则java正则表达式

2020年10月18日 星期日 seo网站关键词优化

 

标签:str字符列表替换span取消特殊符号模式表示基本

记一些知识。。。。

以下摘自w3school..

"(.)\\1+"  括号中的点表示任意字符,后面的\\1表示取第一个括号匹配的内容,后面的加号表示匹配1次或1次以上。二者加在一起就是某个字符重复两次或两次以上

符号定义

基本书写符号

符号 符号 示例 解释 匹配输入
\ 转义符 \* 符号“*” *
[ ] 可接收的字符列表 [efgh] e、f、g、h中的任意1个字符 e、f、g、h
[^] 不接收的字符列表 [^abc] 除a、b、c之外的任意1个字符,包括数字和特殊符号 m、q、5、*
| 匹配“|”之前或之后的表达式 ab|cd ab或者cd ab、cd
( ) 将子表达式分组 (abc) 将字符串abc作为一组 abc
连字符 AZ 任意单个大写字母 大写字母

限定符

限定符将可选数量的数据添加到正则表达式,下表为常用限定符:

符号 含义 示例 示例 匹配输入 不匹配输入
* 指定字符重复0次或n次 (abc)* 仅包含任意个abc的字符串,等效于\w* abc、abcabcabc a、abca
+ 指定字符重复1次或n次 m+(abc)* 以至少1个m开头,后接任意个abc的字符串 m、mabc、mabcabc ma、abc
? 指定字符重复0次或1次 m+abc? 以至少1个m开头,后接ab或abc的字符串 mab、mabc、mmmab、mmabc ab、abc、mabcc
{n} 只能输入n个字符 [abcd]{3} 由abcd中字母组成的任意长度为3的字符串 abc、dbc、adc a、aa、dcbd
{n,} 指定至少 n 个匹配 [abcd]{3,} 由abcd中字母组成的任意长度不小于3的字符串 aab、dbc、aaabdc a、cd、bb
{n,m} 指定至少 n 个但不多于 m 个匹配 [abcd]{3,5} 由abcd中字母组成的任意长度不小于3,不大于5的字符串 abc、abcd、aaaaa、bcdab ab、ababab、a
^ 指定起始字符 ^[09]+[az]* 以至少1个数字开头,后接任意个小写字母的字符串 123、6aa、555edf abc、aaa、a33
$ 指定结束字符 ^[09]\[az]+$ 以1个数字开头后接连字符“–”,并以至少1个小写字母结尾的字符串 2a、3ddd、5efg 33a、8、7Ab

匹配字符集

匹配字符集是预定义的用于正则表达式中的符号集。如果字符串与字符集中的任何一个字符相匹配,它就会找到这个匹配项。

正则表达式中的部分匹配字符集:

符号 含义 示例 示例 匹配输入 不匹配输入
. 匹配除 \n 以外的任何字符 a..b 以a开头,b结尾,中间包括2个任意字符的长度为4的字符串 aaab、aefb、a35b、a#*b ab、aaaa、a347b
\d 匹配单个数字字符,相当于[09] \d{3}(\d)? 包含3个或4个数字的字符串 123、9876 123、9876
\D 匹配单个非数字字符,相当于[^09] \D(\d)* 以单个非数字字符开头,后接任意个数字字符串 a、A342 aa、AA78、1234
\w 匹配单个数字、大小写字母字符,相当于[09azAZ] \d{3}\w{4} 以3个数字字符开头的长度为7的数字字母字符串 234abcd、12345Pe 58a、Ra46
\W 匹配单个非数字、大小写字母字符,相当于[^09azAZ] \W+\d{2} 以至少1个非数字字母字符开头,2个数字字符结尾的字符串 #29、#?@10 23、#?@100

分组构造

常用分组构造形式:

常用分组构造形式 说明
() 非命名捕获。捕获匹配的子字符串(或非捕获组)。编号为零的第一个捕获是由整个正则表达式模式匹配的文本,其它捕获结果则根据左括号的顺序从1开始自动编号。
(?<name>) 命名捕获。将匹配的子字符串捕获到一个组名称或编号名称中。用于name的字符串不能包含任何标点符号,并且不能以数字开头。可以使用单引号替代尖括号,例如 (?‘name‘)

字符转义

如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\ 例如:deerchao\.net匹配deerchao.NET,C:\\Windows匹配C:\Windows。注意在Java中: (https://github\\.com/[\\w\\]) 用"\\."配备"."。

常用正则表达式举例

非负整数:“^\d+$ ” 正整数: “ ^[09]*[19][09]*$” 非正整数: “ ^((\d+)|(0+))$” 整数: “ ^?\d+$” 英文字符串: “ ^[AZaz]+$” 英文字符数字串: “ ^[AZaz09]+$” 英数字加下划线串: “^\w+$” Email地址:“^[\w]+(\.[\w]+)*@[\w]+(\.[\w]+)+$” URL:“^[azAZ]+://(\w+(\w+)*)(\.(\w+(\w+)*))*(\?\s*)?$”

匹配特定数字

^[19]d*$    //匹配正整数 ^[19]d*$   //匹配负整数 ^?[19]d*$   //匹配整数 ^[19]d*|0$  //匹配非负整数(正整数 + 0) ^[19]d*|0$   //匹配非正整数(负整数 + 0) ^[19]d*.d*|0.d*[19]d*$   //匹配正浮点数 ^([19]d*.d*|0.d*[19]d*)$  //匹配负浮点数 ^?([19]d*.d*|0.d*[19]d*|0?.0+|0)$  //匹配浮点数 ^[19]d*.d*|0.d*[19]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0) ^(([19]d*.d*|0.d*[19]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)

匹配特定字符串

^[AZaz]+$  //匹配由26个英文字母组成的字符串 ^[AZ]+$  //匹配由26个英文字母的大写组成的字符串 ^[az]+$  //匹配由26个英文字母的小写组成的字符串 ^[AZaz09]+$  //匹配由数字和26个英文字母组成的字符串 ^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

验证Email地址:“^w+[+.]w+)*@w+([.]w+)*.w+([.]w+)*$” 验证InternetURL:“^http://([w]+.)+[w]+(/[w./?%&=]*)?$” 验证电话号码:“^((d{3,4})|d{3,4})?d{7,8}$” 验证身份证号(15位或18位数字):“^d{15}|d{}18$” 验证一年的12个月:“^(0?[19]|1[02])$”正确格式为:“01”“09”和“1”“12” 验证一个月的31天:“^((0?[19])|((1|2)[09])|30|31)$”

匹配中文字符的正则表达式: [u4e00u9fa5] 匹配双字节字符(包括汉字在内):[^x00xff] 匹配空行的正则表达式:n[s| ]*r 匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/ 匹配首尾空格的正则表达式:(^s*)|(s*$) 匹配Email地址的正则表达式:w+([+.]w+)*@w+([.]w+)*.w+([.]w+)* 匹配网址URL的正则表达式:http://([w]+.)+[w]+(/[w ./?%&=]*)?

Java这些常用的正则表达式在处理大数据查找,更新,替换的时候可以极大的提高效率

正则表达式匹配简单语法汇总

1、字母:匹配单个字母

A:表示匹配字母A; \\:匹配转义字符“\”; \t:匹配转义字符“\t”; \n:匹配转义字符“\n”;

2、一组字符:任意匹配里面的一个单个字符

[abc]:表示可能是字母a,可能是字母b或者是字母c; [^abc]:表示不是字母a,字母b,字母c的任意一个; [azAZ]:表示全部字母中的任意一个; [09]:表示全部数字的任意一个;

3、边界匹配

^:表示一组正则的开始; $:表示一组正则的结束;

4、简写表达式:每一位出现的简写标记也只表示一位

· :表示任意的一位字符; \d :表示任意的一位数字,等价于“[09]”; \D :表示任意的一位非数字,等价于“[~09]”; \w :表示任意的一位字母、数字、_,等价于“[azAZ09_]”; \w :表示任意的一位非字母、数字、_,等价于“[^azAZ09_]”; \s :表示任意的一位空格,例如:\n、\t等; \S :表示任意的一位非空格;

5、数量表示:之前所有的正则都只是表示一位,如果要表示多位,则就需要数量表示。

?:此正则出现0次或1次; *:此正则出现0次、1次或多次; +:次正则出现1次或多次; {n}:此正则出现正好n次; {n,}:此正则出现n次以上; {n,m}:此正则出现n – m次。

6、逻辑表示:与、或、非

正则表达式A正则表达式B: 表达式A之后紧跟着表达式B; 正则表达式|A正则表达式B: 表示表达式A或者表达式B,二者任选一个出现; (正则表达式):将多个子表达式合成一个表示,作为一组出现。

(三)java正则java正则表达式

标签:str字符列表替换span取消特殊符号模式表示基本

原文地址:https://www.cnblogs.com/momoli/p/13812871.html

您可能也喜欢