我正在尝试从数据列表中获取用户名。数据以奇怪的格式保存,其中形成3个字符整数以类似于下一个字段。在下面的数据中:
数据
129ABCDIEN ABCDHERS ABCDIT UABCU000 212 113P.O. BOX 106000 212 1182920
LAKEABCD AVE.000 212 126ST. JOSEPH, MI 41234-0132000 217 114(123) 983-
12340000123 207 109PAGE 10000265 134From: 7/01/00 To:
7/31/000000293 110Account #:123 1041106000 265 121Tax ID #: 123-12-1234000
212 118SARITEIO SARICO JR000 212
我想选择
SARITEIO SARICO JR
数据中的常量是TAX ID#:[21字符]后跟'000 212'和名称的字符数。在这种情况下是18个字符。
,---- Normal String
|.,---- number of characters
||| |- End of the string
118SARITEIO SARICO JR000
目前我有选择的字符数,但我不知道如何重复使用select来选择下一个变量
目前的RegEx:
/Tax ID #: .{20}(..)
我是RegEx的新手,所以正确方向的任何一点都会有所帮助。
我也可以使用C#中的任何功能。
答案 0 :(得分:0)
遵循您的规则,将有一个简单的正则表达式匹配主题字符串中的所需模式:
Tax ID.{18}\s*\d{3}(?:\s*\d+)*((?i)[a-z]+(?:\s[a-z]+)*)
匹配敏感Tax ID
之后匹配18个字符(换行符除外,因为我不确定您的数据是否包含换行符)。它匹配后面的可选空格(包括换行符)和精确的3
数字,后跟可选的类似模式。接下来将匹配仅包含英文字母的单词序列。这个被捕获并且设置了不区分大小写的标志(?i)
。
您只需获得对第一个捕获组的访问权限。