介绍
我想使用 Java 中的 RegEx 提取字符串内的子字符串。为此,让我们使用 Pattern 和 Matcher 类来正确完成它。
代码
package stringlearning;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* @author Jonathan
*/
public class StringLearning {
//Example String
public static String line = "This is the (first|second|third) choice.";
public static void main(String[] args)
{
//String is right, right?
System.out.println("Line is: " + line);
//How to use RegEx in Java properly
Pattern pattern = Pattern.compile("\\(([^\\)]+)\\)", Pattern.DOTALL);
Matcher matcher = pattern.matcher(line);
//While we find, keep looping
while(matcher.find())
{
//What we foud out?
System.out.println(matcher.matches());
System.out.println(matcher.groupCount());
System.out.println(matcher.group(1));
}
}
}
问题
我仍然不明白为什么它找不到任何东西。正则表达式是在RegEx上创建的并且可以正常工作(不要忘记转义符!'/')
我想知道我缺少什么,它不匹配
笔记
IDE:NetBeans
Java版本是1.8.0_221
慕码人2483693
相关分类