.Net Regex для извлечения данных «Имя и адрес:», но не заголовок, где данные могут быть в 1-3 строки - PullRequest
0 голосов
/ 06 сентября 2018

Я пробовал многочисленные варианты этого регулярного выражения, но результаты включают нежелательные пробелы или «Компания». Регулярное выражение должно быть чисто без какого-либо программирования, подстановок или дополнительной обработки. Каждый набор данных имени и адреса содержит данные до и после. Данные компании всегда следуют за именем и адресом.

(?im)(?<=^Name\s?&\s?Address:\s+)([A-z0-9,./ -]+)(?:\r\s*(Company)?)([A-z0-9,./ -]+)

Примеры комбинаций данных:

хуг
Имя и адрес: Боб Смит, 341 Water St. Greenville, NY 10294
Название компании: Смит BlackSmiths & Sons
хуг
Имя и адрес: Чарльз Аллан Робертсон
1234 Стрип Лас-Вегас, Невада 89776
Название компании: Слоты и т.д.
хуг
Имя и адрес: Фредерик Мелтреттор
Кв. Кингстон, 876-1
Моменто, Калифорния 93851
Название компании: Fred's Momenentos
хуг
Имя и адрес:
Пенелопа Паркенфаркер
Пр. Хайленд 99
Талса ОК 65446
Название компании: Банк ОК

1 Ответ

0 голосов
/ 06 сентября 2018

Почему бы не использовать такое регулярное выражение?

Var nameAndAddresses = Regex.Matches(source, "Name & Address:([\\s\\S]+?)Company Name");
...