Python 正则表达式以避免字符串中较早的字符
Python regex to avoid a character earlier in the string
我想使用正则表达式来查找确切的字符串,但如果它是评论的一部分,则不会,如 //
所指定。
例如,在字符串中:
hello apple apples // eat an apple
它应该匹配第一个苹果而不是第二个或第三个。
所以,我认为正则表达式应该是这样的。它会找到周围有单词中断的字符串,但如果 //
在它后面则不会:
(?<!\/\/)\bapple\b
在这种情况下,负向后视的问题在于它只会紧挨着单词查找。我需要它向后看得更远,以确保注释符号不存在于字符串的前面。
此模式将在第一个 sub-pattern
中捕捉到您想要的内容
\/\/.*|\b(apple)\b
我认为您只需要转义对后向断言的评论;
(?<!\/\/)\b(apple)\b ## doesn't work, don't use this.
我想使用正则表达式来查找确切的字符串,但如果它是评论的一部分,则不会,如 //
所指定。
例如,在字符串中:
hello apple apples // eat an apple
它应该匹配第一个苹果而不是第二个或第三个。
所以,我认为正则表达式应该是这样的。它会找到周围有单词中断的字符串,但如果 //
在它后面则不会:
(?<!\/\/)\bapple\b
在这种情况下,负向后视的问题在于它只会紧挨着单词查找。我需要它向后看得更远,以确保注释符号不存在于字符串的前面。
此模式将在第一个 sub-pattern
中捕捉到您想要的内容\/\/.*|\b(apple)\b
我认为您只需要转义对后向断言的评论;
(?<!\/\/)\b(apple)\b ## doesn't work, don't use this.