匹-6ren">
gpt4 book ai didi

regex - 如何使用正则表达式将字符串与一种模式而不是另一种模式相匹配?

转载 作者:行者123 更新时间:2023-12-01 13:33:27 25 4
gpt4 key购买 nike

我需要确定一个字符串是否与一个子字符串匹配,而不是另一个子字符串。例如,给定子字符串“john”和“mary”,其中“john”必须存在而“mary”不能:

"My name is john"-> 匹配

"My name is mary"-> 不匹配

“他们的名字是约翰和玛丽”-> 不匹配

注意这两个字符串是不能互换的,“john”永远是要匹配的那个,而“mary”一定永远不会匹配,所以不是简单的异或操作

最佳答案

这是你的正则表达式:

^(?!mary)(.(?!mary))*john(?!mary)(.(?!mary))*$

好的,我来解释一下,因为你的问题是“如何”。 :)^ 标记开始。
(?!mary) 是一个否定的前瞻。如果当前位置没有“mary”,则匹配。之后,任何不跟在“mary”之后的字符都会被吃掉,直到到达“john”。然后再次进行整个 mary check,直到结束,用美元符号标记。

关于regex - 如何使用正则表达式将字符串与一种模式而不是另一种模式相匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7419395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com