REGEX: совпадать в начале строки НЕОБЯЗАТЕЛЬНО - PullRequest
0 голосов
/ 19 июня 2011

Я строю регулярное выражение, соответствующее слову combo W7. Не W73 или NW7 или 2W7.

Пока у меня есть

^w7{1}\b

, который работает отлично. Однако у меня есть проблема.

Мне также нужно, чтобы //W7 (с двумя косыми чертами) также совпадал. Поэтому, если введены W7 или //W7, они должны соответствовать

Есть идеи?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 19 июня 2011

Вы можете просто добавить необязательную группу к своему регулярному выражению

^(?://)?W7\b

Не забудьте использовать не- / разделитель (это аккуратнее, чем избегать этих слешей).

Если вы хотите, чтобы строка темы содержала только //W7 или W7, тогда альтернатива (полный шаблон) будет:

~^(?://)?W7$~D
2 голосов
/ 19 июня 2011

Просто добавьте необязательный // в начале.

^(//)?w7\b

Возможно, вам придется их избежать.

^(\/\/)?w7\b
1 голос
/ 19 июня 2011

А как насчет ^(//)?W7? знак вопроса указывает один или ноль вхождений .

...