c# - 试图找到文件中逻辑语句的数量

标签 c# regex

所以我正在读取一个文件,我需要计算该文件中逻辑运算符的数量,根据此处的建议,我尝试使用正则表达式,但我正在使用的是:

Regex reg = new Regex(@"/and|x?or|&&|[<>!=]=|[<>&!]|\|{1,2}/gi");

返回匹配的所有内容,例如它返回任何带有 "or" 的变量在里面,或者如果我有一个 "<=" operator 它将其视为两个独立的运算符(分别为“<”和 "=")。

此时我是否应该使用正则表达式,因为它似乎对我的情况没有帮助。

最佳答案

为了匹配<=而不是 <就是使用条件表达式:

(<=|<|>=|>)

它将首先尝试匹配 <=首先,如果成功,它不会检查 < . 同样适用于 >== .

匹配or ,但不是文字,您可以使用环视来确保它是独立的(将此模式添加到上面):

(<=|<|>=|>|(?<=[^a-zA-Z])or(?=[^a-zA-Z]))

尝试 demo .

关于c# - 试图找到文件中逻辑语句的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53695480/

相关文章:

c# - 为什么 Visual Studio 2010 在调试重启时重新编译我的 C# 项目?

c# - 是否有一种可移植的方式来表示任意数据库表(结构仅在运行时已知),类似于 DataSet/DataTable 的方式?

c# - Servicestack RedisClient在处理后保持连接

c# - 查找具有模式的文件夹名称

python - Pandas - 检查列中的值是否匹配两种格式之一

c# - 如何在 Visual Studio 2013 中进行并行构建?

c# - 无法加载文件或程序集 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

c# - 一次性替换(反转)左括号和右括号

c# - Microsoft asp c# RegEx 转义多个保留字符

jQuery:如何将文本与正则表达式模式匹配并将结果包装在 anchor 标记中?