如何处理我声明的前缀词重叠的情况? 在这个例子中,我正在寻找“ hello”或“ world”之后的内容,但是当单词组合在一起时,我希望正则表达式移到第二行,然后给我后面的内容。我希望这是有道理的。 这就是我所拥有的:
(?:hello|world)(?:.*?\s+\S+)
结果如下:
粗体代表突出显示的区域
对于hello world: sdfrwefwggds
示例,我正在寻找sdfrwefwggds
谢谢!
答案 0 :(得分:3)
您可以使用
(?:hello|world)(?!\w*\s+(?:hello|world))(.*?\s+\S+)
请参见Python demo。
详细信息
(?:hello|world)
-两个词之一(?!\w*\s+(?:hello|world))
-当前位置右侧,不能有
\w*
-0个以上的字符字符(使用[^\W\d_]*
仅匹配字母)\s+
-超过1个空格(?:hello|world)
-两个词之一(.*?\s+\S+)
-第1组:
.*?
-除换行符以外的0+个字符,尽可能少的\s+
-超过1个空格\S+
-除空格以外的1个以上字符