首页新闻找找看学习计划

java正则 怎么能 最多的 匹配 符合的 子串?

0
悬赏园豆:5 [已解决问题] 解决于 2016-12-06 10:05

问一下,正则怎么 能最多的匹配,比如 上面的 想 [a-z]+ 是 字母 1到多个, 那么 ab,bc,abc 都是符合的,实际上结果里只有 abc,怎么能都获取?

Inszt的主页 Inszt | 初学一级 | 园豆:151
提问于:2016-11-29 17:51
< >
分享
最佳答案
0

正则配合递归逻辑处理可能匹配出来,正则的匹配有一个指针的概念,匹配完了之后指针就会停在匹配字符串末尾字符的后面,Pattern和Matche类可以找到在一次字符串长度内的连续的所有匹配的字符串。正则中还有贪婪和非贪婪两个概念,我想匹配的话使用的一定是非贪婪模式。现在感觉可以匹配出来了,不过要使用递归。每一次匹配一个之后修改正则表达式,加上排除匹配的字符串的正则再次匹配,这样循环到没有可以匹配的字符串后应该就结果出来了。我没有实验,给一个思路。

收获园豆:4
guodaxia | 初学一级 |园豆:87 | 2016-11-30 09:15

嗯。。。

Inszt | 园豆:151 (初学一级) | 2016-12-06 10:04
其他回答(2)
0

如果你想一次匹配出

abc,ab,bc,a,b,c

那么抱歉,正则做不到。

收获园豆:1
~洛书~ | 园豆:331 (菜鸟二级) | 2016-11-29 20:04

是的,正则 匹配到一个位置 就往下,不会 再回去匹配了。。。

支持(0) 反对(0) Inszt | 园豆:151 (初学一级) | 2016-12-06 10:04
0

[a-z]+,就是匹配一个到多个小写字母,你所说的都符合啊,怎么了?

让我发会呆 | 园豆:2624 (老鸟四级) | 2016-11-30 14:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册