#c# #regex
#c# #регулярное выражение
Вопрос:
У меня есть текстовый файл типа :
67890 LastName, FirstName
09/10/2020 18:18:01 Page 1 of 1
DOB 01/01/1982 38 years Male
..........
Я бы извлек LastName, First Name отдельно, затем с помощью 2
регулярных выражений для захвата:
- LastName как все символы перед первой запятой «,» удаление пробелов перед ним.
- FirstName как все символы после первой запятой «,» удаление пробелов после него.
Я выполнил тест для LastName с помощью (C #):
^.*?(?=,)
но захватывает все перед запятой, а не только фамилию.
Также код :
(?<=^.{20})([^,])
захватывает 20 символов перед запятой, но включает пробелы. Я бы просто взял все символы перед запятой, также может быть 20 символов перед запятой, чтобы не включать начальные числа.
Я использую тестовый сайт :
Большое спасибо за помощь!
Комментарии:
1.1.
S (?=,)
, 2.(?<=,s*)S
?2.
b([^,s] ),s(. ?)b
поместил бы фамилию в группу захвата # 1, а firstname — в # 2. regex101.com/r/m88RbW/13. пожалуйста, выведите больше входных данных
Ответ №1:
<a rel="noreferrer noopener nofollow" href="https:///regexstorm.net/tester?p=(?Регулярное выражение для извлечения фамилии:
(?<=^[^,]*?s )S (?=,)
<a rel="noreferrer noopener nofollow" href="https:///regexstorm.net/tester?p=(?Регулярное выражение для извлечения имени:
(?<=,s*)S
Комментарии:
1. Спасибо, решение идеальное !!