作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在进行正则表达式搜索时排除一个组合。怎么可能?
输入示例:
if("invalid"=key,if("A01"=key,true,false),if("B01"=key,true,false))
期望的输出:
正则表达式匹配应该只在至少任何一个组合如 "{}"=key
except "invalid"=key
存在时返回 true(即它应该跳过这个具体组合。每个组合都将以 =key 标签结尾)
提前致谢!
最佳答案
您可以在匹配 "
+ 1 个或多个 "
+ "=key
子字符串时使用环视检查:
var isMatched = Regex.IsMatch(s, "\"(?!invalid\")[^\"]+\"=key\\b");
参见 regex demo
"(?!invalid")[^"]+"=key\b
正则表达式表示:
"
- 双引号(?!invalid")
- 后面没有 invalid"
子串[^"]+
- 1 个或多个双引号以外的字符"=key
- "=key
子串\b
- 单词边界,key
后不允许有字母/数字/_
。关于c# - 如何在进行正则表达式搜索时排除组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52035812/
我是一名优秀的程序员,十分优秀!