如果我有,
String str = "11";
Pattern p = Pattern.compile("(\\d)\\1");
Matcher m = p.matcher(str);
以后如何存储使用\1 的结果?比如我想做的,
String str = "123123";
Pattern p = Pattern.compile("(\\d)\\1");
Matcher m = p.matcher(str);
String dependantString = //make this whatever was in group 1 of the pattern.
这可能吗?
最佳答案
您需要先调用 Matcher#find
,然后调用 Matcher#group(1)
,如下所示:
String str = "123123";
Pattern p = Pattern.compile("(\\d+)\\1");
Matcher m = p.matcher(str);
if (m.find())
System.out.println( m.group(1) ); // 123
PS:您的正则表达式还需要一些更正以使用 \\d+
而不是 \\d
。
关于java - 存储来自正则表达式的反向引用供以后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20644265/