假设您要将字符串与以下正则表达式匹配: ".when is (\w+)."- 我试图在“when is”之后获取事件
我可以使用 matcher.group(index) 获取事件,但如果事件类似于退伍军人节,这将不起作用,因为它是两个词。我只能得到“when is”之后的第一个词
我应该使用什么正则表达式来获取“when is”之后的所有单词
另外,假设我想像这样捕捉某人的生日
'什么时候是*生日
如何使用正则表达式捕获 is 和 birthday 之间的所有文本?
最佳答案
你可以试试这个:
^when is (.*)$
这将找到一个以 when is
开头的字符串,并将其他所有内容捕获到该行的末尾。
正则表达式将返回一组。您可以像这样访问它:
String line = "when is Veteran's Day.";
Pattern pattern = Pattern.compile("^when is (.*)$");
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
System.out.println("group 1: " + matcher.group(1));
System.out.println("group 2: " + matcher.group(2));
}
输出应该是:
group 1: when is Veteran's Day.
group 2: Veteran's Day.
关于Java - 正则表达式匹配多个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23961684/