正则

问题:你如何将元字符转成普通字符一样?

答:有两种方法:

  • 用反斜杠(\)前面的元字符;
  • 将元字符括在引号表达式中\Q(在开头)和\E(在结尾处)Pattern.quote("表达式") 将输入序列中的元字符或转义序列转义成普通字符 如:
    Pattern.quote(".*+foo");  //返回   \Q.*+foo\E

贪婪

懒惰 

独占 

X?

X??

X?+

X*

X*?

X*+

X+

X+?

X++

X{n}

X{n}?

X{n}+

X{n,}

X{n,}?

X{n,}+

X{n,m}

X{n,m}?

X{n,m}+

?/*/+只修饰一个字符时

根据前导字符去匹配尽可能多的内容

贪婪,匹配多的,匹配不上了就回溯

(对两个或以上的字符后添加)?

匹配最少项

记忆 :问号,对于有没有不知道 所以是0/1

,有没有都行不就是懒惰吗

(对两个或以上的字符后添加)+

与贪婪类似,区别就是不回溯,会导致“独占失败”,没有匹配上

记忆: “+ 表示必须有一 “即独占

                ?                             +

         0 ————> 1——————————————————>

^ 开始                               *                                                              $ 结束

          0————————————————————————>

 

匹配次数正则表达
=n{n}
>=n{n,}
[n,m]{n,m}
括号

(pattern) 匹配并捕获

(?:pattern)匹配 pattern 但不捕获该匹配的子表达式

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值