帮我理解一下下面的几个java里的正则表达式的意思?在java的Pattern类里出来的Greedy 数量词 X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/23 13:47:27
![帮我理解一下下面的几个java里的正则表达式的意思?在java的Pattern类里出来的Greedy 数量词 X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,](/uploads/image/z/10701551-47-1.jpg?t=%E5%B8%AE%E6%88%91%E7%90%86%E8%A7%A3%E4%B8%80%E4%B8%8B%E4%B8%8B%E9%9D%A2%E7%9A%84%E5%87%A0%E4%B8%AAjava%E9%87%8C%E7%9A%84%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E7%9A%84%E6%84%8F%E6%80%9D%3F%E5%9C%A8java%E7%9A%84Pattern%E7%B1%BB%E9%87%8C%E5%87%BA%E6%9D%A5%E7%9A%84Greedy+%E6%95%B0%E9%87%8F%E8%AF%8D+X%2C%E4%B8%80%E6%AC%A1%E6%88%96%E4%B8%80%E6%AC%A1%E4%B9%9F%E6%B2%A1%E6%9C%89+X%2A+X%2C%E9%9B%B6%E6%AC%A1%E6%88%96%E5%A4%9A%E6%AC%A1+X%2B+X%2C%E4%B8%80%E6%AC%A1%E6%88%96%E5%A4%9A%E6%AC%A1+X%7Bn%7D+X%2C%E6%81%B0%E5%A5%BD+n+%E6%AC%A1+X%7Bn%2C%7D+X%2C%E8%87%B3%E5%B0%91+n+%E6%AC%A1+X%7Bn%2Cm%7D+X%2C%E8%87%B3%E5%B0%91+n+%E6%AC%A1%2C)
帮我理解一下下面的几个java里的正则表达式的意思?在java的Pattern类里出来的Greedy 数量词 X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,
帮我理解一下下面的几个java里的正则表达式的意思?在java的Pattern类里出来的
Greedy 数量词
X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
Reluctant 数量词
X,一次或一次也没有
X*?X,零次或多次
X+?X,一次或多次
X{n}?X,恰好 n 次
X{n,X,至少 n 次
X{n,m}?X,至少 n 次,但是不超过 m 次
Possessive 数量词
+ X,一次或一次也没有
X*+ X,零次或多次
X++ X,一次或多次
X{n}+ X,恰好 n 次
X{n,}+ X,至少 n 次
X{n,m}+ X,至少 n 次,但是不超过 m 次
例如 X,一次或一次也没有 为什么这样代表呢.号不是代表的是一个字符吗?两个?为什么就成了一次或一次也没有了.再给我说说如果按它上面说的应怎么使用呢?
帮我理解一下下面的几个java里的正则表达式的意思?在java的Pattern类里出来的Greedy 数量词 X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,
aaaax?bbbbb
? 限定 'x' 出现1次或0次 可匹配 "aaaaxbbbbb" 也可匹配 "aaaabbbbb"
--------------------------------
aaaax*bbbbb
* 限定 'x' 出现任意次 可匹配 "aaaabbbbb" 也可匹配 "aaaaxxxxxbbbbb" 也可匹配 "aaaaxxxxxxxxxxxxxxxbbbbb" 多少个 x 都行
--------------------------------
aaaax+bbbbb
+ 限定 'x' 出现1次或1次以上 可匹配 "aaaaxbbbbb" 也可匹配"aaaaxxxxxbbbbb" 也可匹配"aaaaxxxxxxxxxxxxbbbbb"多少个 x 都行,就不能没有 'x'
--------------------------------
aaaax{3}bbbbb
{3} 限定 'x' 出现3次或3次以上 可匹配 "aaaaxxxbbbbb"
--------------------------------
aaaax{3,}bbbbb
{3,} 限定 'x' 出现3次 可匹配 "aaaaxxxbbbbb" 也可匹配"aaaaxxxxxbbbbb" 也可匹配"aaaaxxxxxxxxxxxxbbbbb"多少个 x 都行,就不能小于3次
--------------------------------
aaaax{3,5}bbbbb
{3,5} 限定 'x' 出现3次至5次 可匹配 "aaaaxxxbbbbb" 也可匹配"aaaaxxxxxbbbbb" 也可匹配"aaaaxxxxbbbbb" 不能小于3次,不能大于5次
--------------------------------
--------------------------------
--------------------------------
--------------------------------
--------------------------------
相信楼主能明白 ?, +, *, {n}, {n,}, {n,m} 的意思了
如果在限定符后边再加上一个 ?
变成 ?, +?, *?, {n}?, {n,}?, {n,m}?
那么它就是懒惰模式
不加的就是贪婪模式
比如有 原文: "----------AzzzzzzzzzzzzAxxxxxxxxxxA--------"
那么 表达式 "A\w*A" 会匹配 "AzzzzzzzzzzzzAxxxxxxxxxxA" 这部分
那么 表达式 "A\w*?A" 会匹配 "AzzzzzzzzzzzzA" 这部分
贪梦模式, 尽可能多的匹配
懒惰模式, 尽可能少的匹配