gpt4 book ai didi

c# - 正则表达式 c# 不应匹配 boolean 运算符

转载 作者:太空宇宙 更新时间:2023-11-03 11:44:06 24 4
gpt4 key购买 nike

我正在尝试编写一个应该能够识别 boolean 表达式的正则表达式。

我需要避免像 IF(AND AND AND) 这样的情况。也就是说,变量的名称不应是以下运算符之一 (OR;AND;XOR)

我也尝试过使用 [^(OR)] 但这没有帮助。我的正则表达式如下所示:

(?:<Name> [A-Za-z0-9])

有没有机会写一个 Regex 来找到像 OR 这样的字符串然后不匹配它?

更新:

@Kobi - 我试过你的解决方案,效果很好。有没有其他方法可以做这样的事情可能是傻瓜。我想编写可读的代码

最佳答案

尝试否定前瞻:

(?<Name>\b(?!(?:and|x?or)\b)[A-Za-z0-9]+)

假设您正在尝试匹配单个文字,例如“IF(this AND this)”。正则表达式在获取字母之前进行检查,如果它看到的只是“and”、“or”或“xor”,则失败。

此外,请确保您设置了正确的 RegexOptions - 您可能需要打开 IgnoreCase,除非您有 IgnorePatternWhitespace原始模式可能无法匹配,例如 if(var1 中没有空格。

关于c# - 正则表达式 c# 不应匹配 boolean 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3853595/

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