[英]How i can extract substring from string using regular expression in .NET
我想使用正则表达式从字符串中提取子字符串。 以下输入/输出列表显示了我真正想要的。 我需要从字符串中提取部过滤条件。 这里的[dept]一词是常量。在这种情况下,什么样的正则表达式可用于提取子字符串
Input------------------------------------------------Output
Some conditions And [dept]=IT [dept]=IT
Some conditions And [dept]=IT Or [dept]=Account [dept]=IT Or [dept]=Account
Some conditions And [dept] IN ('IT','Account') [dept] IN ('IT','Account')
[dept]=IT And some conditions [dept]=IT
[dept]=IT Or [dept]=Account And some conditions [dept]=IT Or [dept]=Account
[dept] IN ('IT','Account') And some conditions [dept] IN ('IT','Account')
这可能与您追求的目标接近
(\[dept\]=\w+)( (Or)|(And))?|(\[dept\] IN \(.+?\))
它与您的示例输入匹配,如下所示,在()中分组。
([dept]=IT)
([dept]=IT Or) ([dept]=Account)
([dept] IN ('IT','Account'))
在脚本中,您可以加入每一行的组,即加入([dept]=IT Or) ([dept]=Account)
但是,如果像注释中所建议的那样,您的确在解析SQL,则可以使用SQL解析器来准确访问查询WHERE表达式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.