示例输入: 是xxx xxx xxx(可以是任意数量的单词)活着还是死?
例如:
Did Michael Jackson live or die ?
我想捕捉:迈克尔杰克逊,活着,死。句子可以在单词之间有任意数量的空格。
我该怎么做?
答案 0 :(得分:1)
Did\\s+(.+)\\s+(\\S+)\\s+or\\s+(\\S+)\\s*\\?
或者我错过了什么?
编辑:将单个反斜杠更改为双反斜杠
答案 1 :(得分:1)
这样的事情会起作用。你将需要选择第一组迈克尔杰克逊,然后用空格分割它。
Pattern regex = Pattern.compile("^Did (.+)\s+(\w+)\s+or\s+(\w+)$",
Pattern.CASE_INSENSITIVE |
Pattern.UNICODE_CASE);
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find())
{
String []person = regexMatcher.group(0).split(" ");
String action1 = regexMatcher.group(1);
String action2 = regexMatcher.group(2);
}