Regex工作在# Regex猪肉,但不是在.net
本文关键字:Regex net 猪肉 工作 | 更新日期: 2023-09-27 18:04:00
我有以下的正则表达式:
/(?<=SOMEMETHOD'(|'G)'s*((['"]).+?(?<!'')'2|'{[^}]+'}|[^,;'"(){}')]+)'s*(?:,|'))/g
我在irc# Regex上测试了它,它可以工作。
!正则表达式(function() {new someemethod(`参数1, parameter2{"json1":0,"json2":14962年,"json3":假的,"json4":"hej"},lastparameter);morecode ();测试STS/(& lt; = SOMEMETHOD (| ' G) ' s *((['"]).+?(?
[Result: 4] [0:-?][1:90-102: '参数1'][2:90-90:'][3:104 - 115:"parameter2"][4:104 - 104:"][5:117 - 169:{"json1":0,"json2":14962年,"json3":假的,"json4":"hej"}][6:171 - 183:lastparameter]
它不能在。net中工作:
string pattern = @"/(?<=SOMEMETHOD'(|'G)'s*((['""]).+?(?<!'')'2|'{[^}]+'}|[^,;'""(){}')]+)'s*(?:,|'))/g";
var t = Regex.Match(e.Document, pattern);
我不知道是不是某些字符的转义问题
模式不应该在开头包含/
,在结尾包含/g
。这是用于声明文字正则表达式对象的语法。
string pattern = @"(?<=SOMEMETHOD'(|'G)'s*((['""]).+?(?<!'')'2|'{[^}]+'}|[^,;'""(){}')]+)'s*(?:,|'))";