我想要實現(xiàn)一個功能,如下
"aaaaa123baaasdgaa32a2dfgaaaa" * 取出字符串中連續(xù)的5個、1個、3個a的字符串 * 最后輸出 * aaaaa * aaa * a
我自己用了如下正則
1 String regex = "a{5}||a{3}||a{1}";
2 /* 上面這個正則輸出下面
3 * aaaaa
4 aaa
5 a
6 a
7 a
8 aaa
9 a
10 不符合要求
11 */
12
13 String str = "aaaaa123baaasdgaa32a2dfgaaaa";
14
15 Matcher m = Pattern.compile(regex).matcher(str);
16
17 while(m.find())
18 System.out.println(m.group());
我知道輸出結(jié)果錯誤的原因是因為字符串中的aaaa是連續(xù)4個a,符合正則表達式或運算的最后一個表達式:a{1}。但是我現(xiàn)在想要實現(xiàn)的就只是輸出連續(xù)5個、3個和一個a。請各位大神指教,并想知道關(guān)于正則表達式中的邏輯運算符方面的心得。幫助文檔中的沒有介紹啊!如果問的不夠詳細(xì)也請回復(fù)。謝謝
?
添加回答
舉報
0/150
提交
取消