我需要使用正则表达式从文本文件中提取以下字符串。
(EMPLOYEE ID 45678912345)
格式始终为(EMPLOYEE ID XXXXXXXXXXX)
其中X表示数字。员工ID后面应该跟上11个数字。
答案 0 :(得分:7)
以下内容将捕获您指定的格式:
(\(EMPLOYEE ID [0-9]{11}\))
我将保留此模式的用法以及如何将捕获组作为练习提取给读者。
答案 1 :(得分:2)
这将捕获与正则表达式无关的所有实例,忽略大小写
foreach (Match match in Regex.Matches(text, @"(\(EMPLOYEE ID [0-9]{11}\))", RegexOptions.IgnoreCase))
{
//capture employeeID
var employeeID = match.Value;
}
答案 2 :(得分:0)
我不确定C#是否支持前瞻性,但要获得该数字(通过支持这些的Rgex),我会使用像(?<=\(EMPLOYEE ID )\d{11}(?=\))
这样的模式来获取数字强>