本帖最后由 何衍其 于 2013-3-30 22:16 编辑
1 | ((A)(B(C))) | 2 | \A | 3 | (B(C)) | 4 | (C) |
是JDK API中文版Pattern类中的片段吧,其中的”2 \A“是排版错了。
英文版的如下:
1 | ((A)(B(C))) | 2 | (A) | 3 | (B(C)) | 4 | (C) |
组和捕获的例子如下:- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
-
- public class PatternTest {
-
- public static void main(String[] args) {
- String text = "<textarea rows=\"20\" cols=\"70\">nexus maven repository index properties updating index central</textarea>";
- //下面的正则表达式中共有四个捕获组:(<textarea.*?>)、(.*?)、(</textarea>)和整个匹配到的内容
- String reg = "(<textarea.*?>)(.*?)(</textarea>)";
- Pattern p = Pattern.compile(reg);
- Matcher m = p.matcher(text);
- while (m.find()) {
- System.out.println(m.group(0)); // 整个匹配到的内容
- System.out.println(m.group(1)); // (<textarea.*?>)
- System.out.println(m.group(2)); // (.*?)
- System.out.println(m.group(3)); // (</textarea>)
- }
- }
- }
复制代码 |