.Net 正则表达式提取 'Name & Address:' 数据但不提取标题,其中数据可能位于 1 - 3 行
.Net Regex to Extract 'Name & Address:' data but not title, where data may be on 1 - 3 lines
我尝试了这个正则表达式的多种变体,但结果包含不需要的空格或 'Company'。正则表达式必须是纯正的,没有任何编程、替换或额外处理。每个名称和地址数据集前后都有数据。公司数据始终跟在姓名和地址数据之后。
(?im)(?<=^Name\s?&\s?Address:\s+)([A-z0-9,./ -]+)(?:\r\s*(Company)?)([A-z0-9,./ -]+)
示例数据组合:
xyz
姓名和地址:Bob Smith 341 Water St. Greenville, NY 10294
公司名称:Smith BlackSmiths & Sons
xyz
姓名和地址:查尔斯·艾伦·罗伯逊
拉斯维加斯大道 1234 号,内华达州 89776
公司名称:老虎机等
xyz
姓名和地址:Frederick Mehltrettor
易于。金士顿大街 876-1 号
加利福尼亚州莫门托 93851
公司名称:Fred's Momenentos
xyz
姓名和地址:
佩内洛普·帕肯法克
高地大道 99 号
塔尔萨 OK 65446
公司名称: Bank of OK
为什么不用像这样的简单正则表达式?
Var nameAndAddresses = Regex.Matches(source, "Name & Address:([\s\S]+?)Company Name");
我尝试了这个正则表达式的多种变体,但结果包含不需要的空格或 'Company'。正则表达式必须是纯正的,没有任何编程、替换或额外处理。每个名称和地址数据集前后都有数据。公司数据始终跟在姓名和地址数据之后。
(?im)(?<=^Name\s?&\s?Address:\s+)([A-z0-9,./ -]+)(?:\r\s*(Company)?)([A-z0-9,./ -]+)
示例数据组合:
xyz
姓名和地址:Bob Smith 341 Water St. Greenville, NY 10294
公司名称:Smith BlackSmiths & Sons
xyz
姓名和地址:查尔斯·艾伦·罗伯逊
拉斯维加斯大道 1234 号,内华达州 89776
公司名称:老虎机等
xyz
姓名和地址:Frederick Mehltrettor
易于。金士顿大街 876-1 号
加利福尼亚州莫门托 93851
公司名称:Fred's Momenentos
xyz
姓名和地址:
佩内洛普·帕肯法克
高地大道 99 号
塔尔萨 OK 65446
公司名称: Bank of OK
为什么不用像这样的简单正则表达式?
Var nameAndAddresses = Regex.Matches(source, "Name & Address:([\s\S]+?)Company Name");