繁体   English   中英

正则表达式除完整字符串外,不包含字符串内的部分

[英]Regex except full string not the parts inside the string

我需要编写一个正则表达式来避免特定的字符串,而不是字符串的各个部分

这不仅应只允许使用完整的单词“ sup”,还应允许使用“ pus”,“ su”等所有内容。

我该怎么做。

到目前为止,这是我尝试过的。

[^(?!sup).*$]

请帮忙

您的模式已接近,但负前瞻已关闭。 尝试使用以下模式:

^(?!.*sup).*$

否定的前瞻(?!.*sup)断言该模式在字符串的任何位置都不会遇到sup

请注意,我还删除了模式周围的方括号。 这看起来好像您正在尝试使用字符类。 但这在这里并不太有用,因为您尝试排除一个字符序列,而不是单个字符。

请注意,如果您打算将独立单词sup列入黑名单,则应在模式中提供单词边界:

^(?!.*\bsup\b).*$

说到“完整的单词”(不是任何部分),您可能正在寻找

^(?!.*\bsup\b).*$

注意sup两侧的边界,并在regex101.com上查看演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM