Регулярное выражение для сотрудника - PullRequest
2 голосов
/ 25 августа 2010

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

Sales Director:
Managing Director:
Sales Manager:
General Manager - Power:
Finance Director:
Procurement Manager:
Director:
Director:
Managing Director:
Finance Director:
Sales Director:
Managing Director:
Sales Manager:
Finance Director:
Procurement Manager:

Но не включено:

print directories and guides
defence Industry Directory

пока у меня есть:

/(manager|director)/i

Но это очевидно будет совпадать для каталогов, каталогов и т. Д.

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

Должен ли я использовать границы слов, такие как \b?

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

Кто-нибудь может указать мне правильное направление?

Ответы [ 2 ]

2 голосов
/ 25 августа 2010

Должен ли я использовать границы слов, как \ b?

Да, вам нужны здесь границы слов:

/\b(manager|director)\b/i

Я думаю,Я хочу максимум 2 слова, где менеджер или директор - это первое или второе слово.Возможно ли это?

Да, вы можете сделать это с помощью одного регулярного выражения ( rubular ):

/^(?:\w+ +)?(manager|director)\b/i

Thisищет:

  • менеджер слов или директор в начале строки или
  • одно слово, один или несколько пробелов, затем менеджер слов или директор
0 голосов
/ 26 августа 2010

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

Если ваш движок регулярных выражений поддерживает отрицательный прогноз («утверждение нулевой ширины»), вы можете использовать director(?![yi]) для исключения экземпляров director, за которыми следует y или i.

Действительно, граница слова, вероятно, просто отлично.

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