因此,我正在读取一个文件,我需要计算该文件中逻辑运算符的数量,根据此处的建议,我尝试使用正则表达式,但我正在使用的是:
Regex reg = new Regex(@"/and|x?or|&&|[<>!=]=|[<>&!]|\|{1,2}/gi");
返回匹配的所有内容,例如,它返回其中带有"or"
的任何变量,或者如果我有一个"<="
运算符,它将其视为两个单独的运算符(“ <”和{{1 }})。
在这一点上,我什至应该使用正则表达式,因为它似乎对我的处境没有帮助。
答案 0 :(得分:0)
为了匹配<=
而不是<
,要使用条件表达式:
(<=|<|>=|>)
,它将首先尝试首先匹配<=
,如果成功,则不会检查<
。
同样适用于>=
和=
。
要匹配or
,但不能用文字匹配,可以使用环视方法来确保它是独立的(在上面添加此模式):
(<=|<|>=|>|(?<=[^a-zA-Z])or(?=[^a-zA-Z]))
尝试demo。