如何拆分单词的所有实例(不包括该单词是用引号引起的子串)?

时间:2019-04-28 18:44:54

标签: java regex

我需要在Java的Pattern.split()方法中使用正则表达式:我需要适当地解析此字符串中单词的出现:

-开始-

我想分割香蕉而不是'banana',并且我确实希望分割香蕉而不是'anybananain在每组文字引号之间的一个子串和/或任何香蕉”

-结束-

我的第一次尝试是尝试:

如果单词被空格和边界包围,则会拆分,但这也会抓住任何一个在两侧带有字符的单词,并且不会在引号之间引起麻烦,也不会在一组引号之间引起较大的一组单词。 >

\bbanana\b

我的另一个想法是这样的:

['].\*[^(?:banana)].\*[']|banana

它将使用引号或任何香蕉之间的香蕉来捕获任何字符串,并且仅在与第二个组匹配的组上进行分割,而不是与非捕获组匹配,但非捕获组仍将对其执行正则表达式操作。因此,似乎.split也不可能做到这一点。

上面的字符串中出现了5个香蕉,我只想分割上面的字符串中的第一个和第三个香蕉。这可能吗?我需要消除在任何用''封装的香蕉上的拆分,但在这些文字引号之间可以有任意数量的字符

所以预期的输出将是:

我想就此展开讨论。

但不是'香蕉',我确实想对此进行拆分。

但不是“任何在每组文字引号之间的子串和/或任何香蕉”。

0 个答案:

没有答案