我想使用正则表达式从字符串中捕获非连续文本,但我发现这非常困难。 (无法正常工作)
我有以下内容:
“约翰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个索引。