我想使用正则表达式从字符串中捕获非连续文本,但我发现这非常困难。 (无法正常工作)

我有以下内容:

“约翰KC玛丽五世橘子。”

KC和V是标记,它们将始终存在于我的字符串中。在这种情况下,我想捕获“ John V oranges”。

所以我想要的是删除KC和所有内容,直到V(V除外)。

我不知道该怎么做。我在Java代码上执行此操作,因此我认为我对正则表达式有一些语法限制。

另外一个限制是我只需要使用正则表达式即可。我不能使用Java替换。

如果你们能给我一些想法,我将非常感激。

谢谢。

最佳答案

您可以使用以下正则表达式

([a-zA-Z ]+)KC [a-zA-Z]+ (V [a-zA-Z]+)


这将返回一个数组

Array
(
   [0] => John KC Mary V oranges.
   [1] => John
   [2] =>  V oranges.
)


然后您可以选择最后2个索引。

09-13 00:00