我正在尝试使用Java查找两个单词之间的所有单词。这些词是换行的。请参阅下面的示例文本:

示例文本:

this is
an example
for the problem(s)
I
am having
while
working on
the issue-101


我需要所有单词[包括特殊字符]和单词示例之间的分隔符,例如:

预期产量:

for the problem(s)|I|am having|while|working on|the issue-101


我尝试了以下RegEx:

(?<=example\r\n)\s?\w+


这只给我:

for


我知道上面的正则表达式还不完整,但是我希望它能给我至少所有的单词,然后再考虑添加定界符。

任何帮助或指示,我们将不胜感激。找到了一个问题Regular expression with carriage return
这或多或少类似于我的问题,但仍然无法完全帮助我。

最佳答案

这是在单个String#replaceAll调用中合并2个替换项的方法:

String repl = data.replaceAll("(?s)(.*?example\\s*)|[\r\n]+", "|");
//=> |for the problem(s)|I|am having|while|working on|the issue-101



唯一需要注意的是,它将在输出中具有起始管道字符。
(?s)用于DOTALL也使点匹配换行符。

关于java - 正则表达式可在回车后匹配任何字符并给出单个定界字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21449109/

10-11 22:25
查看更多