【正则表达式】

1 元字符

代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
^ 匹配字符串的开始
$ 匹配字符串的结束
\b 匹配字符串的结束

举例:8

答案:\d

2 重复

代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

举例:89

答案:\d{2}

3 字符

需要匹配元字符中没有的字符范围,可以在方括号里列出它们

举例:aogewyhgahgreah(匹配a,f,o)

答案:[afo]

4 分支条件

用|把不同的规则分别表达。

举例:匹配3位区号,8位本地号(如010-12345678)或者4位区号,7位本地号(0376-2233445)

答案:0\d{2}-\d{8}|0\d{3}-\d{7}

5 反义

代码/语法 说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

6 分组

分组实质上就是利用括号将正则表达式分开,前一组不会干扰下一组的正则表达式。

组号规则:

  • 从1开始,连续不断
  • 以左括号为基准,最左边是第一组

举例:(\d{4})-(\d{2}-(\d\d))

6.1 捕获分组

后续还需要使用本组数据。

举例:

String str = "我要学学学编编编编编编编程程程程程程";
String result = str.replaceAll(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值