java之正则表达式

前言:一个正则表达式是含有一些具有特殊意义的字符串,这些字符串称作正则表达式的元字符。

利用正则表达式可以从字符串中选出符合自己需要的字符串,并操作。

元字符
元字符在正则表达式中的写法意义
..代表任何一个字符
\d\\d代表0~9的任何一个数字
\D\\D代表任何一个非数字字符
\s\\s代表空格类字符,‘\t\','\n','\x0B','\f',;\r'
\S\\S代表非空格类字符
\w\\w代表可用于标示符的字符(不包括美元符号)
\W\\W代表不能用于标示符的字符
\p{Lower}\\p{Lower}小写字母[a~z]
\p{Upper}\\p{Upper}大写字母[A~Z]
\p{ASCII}\\p{ASCII}ASCll字符
\p{Alpha}\\p{Alpha}字母
\p{Digit}\\p{digit}数字字符,即[0~9]
\p{Alnum}\\p{Alnum}字母或数字
\p{Punct}\\p{Punct}标点符号:!,"#¥%……&*()~·<>?,.、
\p{Graph}\\p{Graph}可视字符:\p{Alnum}\p{Punct}
\p{Print}\\p{Print}可打印字符:\p{Graph}
\p{Blank}\\p{Blank}空格或制表符[\t]
\p{Cntrl}\\p{Cntrl}控制字符:[\x00-\x1F\x7F]
 

1. 在正则表达式中可以用方括号括起若干个字符来表示一个元字符,该元字符代表方括号的任何一个字符

   例如:regex=“[134]ABC",那么"1ABC","3ABc","4ABC”,d都是和正则表达式regex匹配的字符串。方括号元字符的意义如下所示:

  •     [abc]:代表abc中的任何一个;
  •     [^abc]:代表abc以外的任何字符;
  •     [a-zA-Z]:代表英文字母中的任何一个      
  •     [a-d]:代表a~d中的任何一个;

2. 另外,中括号里允许嵌套中括号,进行并、交、差运算;

  •     [a-d[m-p]]:代表a~d,或m~p中的任何字符;
  •     [a-z&&&[def]]:代表def中的任何一个;
  •     [a-f&&[^bc]]:代表adef
  •     [.]代表:.     由于"."代表任何一个字符,因此在正则表达式中如果想使用普通意义的点字符,必须使用[.] 

3. 正则表达式中可以使用限定修饰符。
        例如对于修饰符?,如果X代表正则表达式中的一个元字符或普通字符,那么X?就表示X出现0次或1次,

        例如regex=”hello[2345]?";那么,"hello2","hello3","hello4","hello5"都是正则表达式regex匹配的字符串,

限定符
带限定符号的模式意义
X?X出现0次或1次
X*x出现0次或多次
X+X出现一次或多次
x{n}X恰好出现n次
X{n,}X至少出现n次
X{n,m}X出现n~m次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值