Regex: Как исключить конечную звездочку (если она есть)? - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть такие данные:

Scott Palk, Western District of Oklahoma*

И хотите написать регулярное выражение (используя REGEXTRACT), которое соответствует только Western District of Oklahoma, без завершающей звездочки. Но иногда в конце данных нет звездочки, например:

Matthew Kacsmaryk, Northern District of Texas

Как и выше, я хочу соответствовать Northern District of Texas.

Могу ли я написать одно выражение регулярного выражения, которое будет работать для обоих этих сценариев? Я пробовал '([^,]*)\*?$', но это также соответствует звездочке в первом примере.

Использование чего-то вроде '[^,]([[:alpha:]]+ ?)\*$' также не работает. Оно соответствует только последнему слову, и , звездочке, например Oklahoma*. Помогите!

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Если вы хотите захватить любой текст / пробел между "," и "*", вы можете попробовать что-то вроде этого

^.*,\s([\w\s]*)\*?$
0 голосов
/ 01 ноября 2018

Что-то простое, как

^.*, ([^*]+)\*?$

должен захватывать текст с конечной звездочкой или без нее.

...