Сопоставлять только буквы после запятой без цифр
Я использую регулярное выражение для соответствия определенному тексту после выбора с помощью xpath
например Huntsville, Alabama 11111
я хочу только Alabama
который всегда идет после запятой, и я использую [^,]*$
чтобы получить текст после запятой, но я не могу найти способ исключить цифры или возвращает только буквы
другой пример, когда я хочу получить числа после запятой, которую я использую [^[0-9],]*$
но когда я пытался настроить его чем-то еще, он только возвращал числа или ничего.
2 ответа
[?<=,\s*][a-zA-Z]+
Вы можете попробовать это.
Объяснение:
?<=
=> смотреть сзади, чтобы соответствовать строке, но не включать в группу захвата
,\s*
=> соответствует запятой, за которой следуют 0 или более пробелов
[a-zA-Z]+
=> совпадать только буквы (одна или несколько)
НТН
Чтобы сопоставить буквенное слово после последней запятой, вы можете использовать
[a-zA-Z]+(?=[^,]*$)
Смотрите демо-версию регулярного выражения.
подробности
[a-zA-Z]+
- 1 или более букв ASCII(?=[^,]*$)
- следуют 0+ символов, кроме,
до конца строки.
Чтобы сопоставить 1 или более слов в одном контексте, используйте
[a-zA-Z]+(?:\s+[a-zA-Z]+)*(?=[^,]*$)
^^^^^^^^^^^^^^^^^
Смотрите это регулярное выражение.
(?:\s+[a-zA-Z]+)*
part соответствует нулю или более последовательных вхождений 1+ пробелов и 1+ букв ASCII.