【发布时间】:2013-04-04 13:24:29
【问题描述】:
我想获取 2 个单词之间的所有文本(第一个单词是固定的 [One] 但第二个是 2 个单词 [Two] 或 [Three] 中的一个)。
注意 :: 找到的文本和第二个单词之间可能有也可能没有空格。 例如:
One i am
here
Two
i am fine
One i am
here
Two
i am fine
One i am
here
Three
i am fine
One i am
here
Two
i am fine
我发现的是
Pattern p = Pattern.compile("(?<=\\bOne\\b)(.*?)(?=\\bTwo\\b)");
但这不正确,因为它需要完整的单词。
“二”有效。
“fineTwo”无效。
【问题讨论】:
-
您的后视操作似乎无效。试试看:
(?<=One)(.*?)(?=\\b(?:Two|Three)\\b)