Как мне сопоставить слово, которое встречается в любой точке перед другим словом, а НЕ после этого слова? - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь взглянуть на должностные инструкции, в которых упоминаются ветераны, но только в тех случаях, когда заявление об отказе от ответственности работодателя не предоставляется.

Скажем, вам дали следующий текст:

A) We love veterans!

B) We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

C) We love veterans! We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

Я хотел бы сопоставить А, но не В, но также сопоставить с С, так как он упоминается до и после равенства, но мне действительно важно, совпадают ли они до или нет.

Это то, что я пробовал:veteran*.+(?=\s+equal)

1 Ответ

2 голосов
/ 03 октября 2019

Используйте взгляд вперед на точку и зафиксируйте совпадение с начала:

^(?i)((?!\bequal\b).)*veteran

Границы слова добавлены к equal, поэтому он по-прежнему допускает equalize и т. Д.

(?i) включает нечувствительность к регистру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...