如何使用C#正则表达式解析以下内容
本文关键字:何使用 正则表达式 | 更新日期: 2023-09-27 18:22:01
我有这样的文本:"((FIELD1_NAME like 'Product%') And (Instr(FIELD1_NAME, 'Product_typ') = 1))";
我想从字符串的Instr
部分解析FIELD1_NAME
和Product_typ
。
这不起作用:@"Instr((?<column>[A-Z0-9_]+), '(?<value>([^']|(''))+)'"
您需要逃离Instr
之后的第一个(
,并将value
组内的组设为非捕获组
Instr'((?<column>[A-Z0-9_]+),'s*'(?<value>(?:[^']|(''))+)'
演示
此正则表达式使用惰性量词上的点通来获取var
主要是为了修剪,因为你没有声明它是为了验证。
# @"(?s)Instr's*'('s*(?<feild>.*?)'s*,'s*''s*(?<prodtype>.*?)'s*''s*')"
(?s)
Instr
's*
'(
's*
(?<feild> .*? ) #_(1)
's* , 's*
'
's*
(?<prodtype> .*? ) #_(2)
's*
'
's*
')