繁体   English   中英

在 C# 中使用正则表达式提取特定单词和第一个左括号后的数字

[英]Extract number after specific word and first open parenthesis using regex in C#

我想从一个以单词 ID 开头的句子中获取一个字符串:

收到的索赔信件 ID:Sanjay Kumar (12345678 / NA123456789) 尊敬的客户 查找报告

操作:身份证:Sanjay Kumar (12345678 / NA123456789)

经验值:12345678

代码

  var regex = new Regex(@"[\n\r].*Id:\s*([^\n\r]*)");
  var useridText = regex.Match(extractedDocContent).Value;

您可以使用

var regex = new Regex(@"(?<=Id:[^()]*\()\d+");

请参阅正则表达式演示

详情

  • (?<=Id:[^()]*\() - 与紧接在Id: + 除() + (之外的零个或多个字符
  • \d+ - 一个或多个数字。

还考虑一种非后视方法:

var pattern = @"Id:[^()]*\((\d+)";
var useridText = Regex.Match(extractedDocContent, pattern)?.Groups[1].Value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM