正则表达式匹配最短的字符串

时间:2017-08-02 16:01:43

标签: regex string vba pattern-matching

我们假设我有这样的文字: people world computer world apple

我希望正则表达式匹配文本中以“worl”开头并以“pple”结尾的字符串,并尽可能地缩短。 所以,我希望它找到这个确切的字符串(在这种情况下):world apple这一个:world computer world apple(因为它更长)。

这只是一个例子。一般来说,我不在乎“worl”和“pple”之间是否有,几个或几百个字符,我唯一关心的是找到 最短的可能性

我试过这个正则表达式:https://regex101.com/r/vcPyAW/5 这是worl(.*?)(?!worl)(.*?)pple,但正如您所看到的,它只匹配较长的选项。

我将用上面的正则表达式解释我的想法: 找到一个字符串:

  1. worl
  2. 开头
  3. 后面有零个或多个字符
  4. 不再包含字符串 worl
  5. pple
  6. 结尾

    我一直在寻找几个小时找到任何可行的解决方案,但似乎没有任何工作可行。我希望有人会帮忙。 :) 如果问题不明确,请询问。 再说一遍:上面的示例文本只是一个例子,一般来说我只需要提供我想要查找的文本的起始和结束字符串,然后找到最短的可能性。

    我正在使用VBA中的RegExp库,因为我需要在Word中使用它。

0 个答案:

没有答案