Python正则表达式以避免字符串

时间:2016-01-19 00:35:46

标签: python regex lookbehind

我想使用正则表达式来查找完整的字符串,但如果它是评论的一部分,则不是//指定的。

例如,在字符串中:

  你好苹果苹果//吃一个苹果

它应匹配第一个苹果,但不匹配第二个或第三个苹果。

所以,我认为正则表达式会是这样的。它会找到带有单词分隔符的字符串,但如果//位于其后面则不会出现:

(?<!\/\/)\bapple\b

在这种情况下,负面后视的问题在于它只会紧挨着这个词。我需要它看得更远,以确保字符串中先前不存在注释符号。

2 个答案:

答案 0 :(得分:4)

此模式将在第一个子模式中捕获您想要的内容

\/\/.*|\b(apple)\b

Demo

答案 1 :(得分:0)

我认为你只需要逃避你对lookbehind断言的评论;

    (?<!\/\/)\b(apple)\b ## doesn't work, don't use this.

<德尔> Try it -- regex101.com