假设我想匹配这样的句子:
家在身后,世界在前!
这边走:
^.*(?<=(H|h)ome).*(w|W)orld.*(\.|!)$
这似乎工作正常。(见 regex101)
现在假设我想排除“家”和“世界”这两个词以相反顺序出现的句子:
世界在身后,家在前!
我试过这个(regex101):
^.*(?<!(w|W)orld).*(H|h)ome.*(\.|!)$
这个不行... :-(
谁能解释一下如何通过消极的后视或其他方式来实现它?...
假设我想匹配这样的句子:
家在身后,世界在前!
这边走:
^.*(?<=(H|h)ome).*(w|W)orld.*(\.|!)$
这似乎工作正常。(见 regex101)
现在假设我想排除“家”和“世界”这两个词以相反顺序出现的句子:
世界在身后,家在前!
我试过这个(regex101):
^.*(?<!(w|W)orld).*(H|h)ome.*(\.|!)$
这个不行... :-(
谁能解释一下如何通过消极的后视或其他方式来实现它?...
我将您的要求表述为:
^(?i)(?!.*\bworld\b.*\bhome\b).*\bhome\b.*\bworld\b.*$
模式 asserta 开头的否定前瞻,没有按该顺序world
跟随。home