使用正则表达式捕获具有特殊字符的字符串

时间:2018-03-15 12:05:47

标签: c# regex regex-group

我正在尝试使用正则表达式来解析字符串并提取所需的数据。这是我的字符串:

  

验证ELEMENT的控制值 - VerifyFirstRowSearchNotes as   〜创建Stat Reserve:~IP:Claimant Driver;知识产权角色:所有者,   驱动〜曝光

我正在尝试使用以下正则表达式模式捕获数据。我对随后的数据感兴趣" as"特别是。但是,我只能捕获下面的控制值,并且无法在"之后提取任何内容。并将其分配给字段组:

string actionpattern = @"Validate control value for ELEMENT - (?<control>.*?)as (?<fields>.*?)";
var regex = new Regex(actionpattern, RegexOptions.IgnoreCase);
var match = regex.Match({above string});

让我知道我做错了什么。我是正则表达式和学习过程的新手。

1 个答案:

答案 0 :(得分:1)

如果您删除此部分(?<fields>.*?)中的问号,那么您将贪婪并在(?<fields>.*)

之后匹配所有内容

你的正则表达式看起来像:

Validate control value for ELEMENT - (?<control>.*?)as (?<fields>.*)