2014-02-20 3 views
0

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

[\s.,_-]*[wW][\s.,_-]*[wW][\s.,_-]*[wW] 

Он блокирует все экземпляры WWW в окне чата для меня ... там лежит вопрос.

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

Я чувствую, что я не за горами, но я исчерпал свое регулярное выражение.

+1

Вы пытаетесь заблокировать URL-адреса? – hanleyhansen

+1

Просьба уточнить вопрос, дать несколько примеров ввода для того, что вы хотели бы и не хотели бы принимать и т. Д., Иначе этот вопрос, вероятно, будет закрыт. –

+0

'http: // stackoverflow.com' Я только что обошел ваш блок. Вы можете использовать '\ b' для этого, но это не ваша главная проблема - вы просто делаете это неправильно. – Doorknob

ответ

0

Чтобы ответить на ваш вопрос, вы можете использовать

\b[wW](?:[\s.,_-]*[wW]){2}\b 

\b является границей слова, (?:...) не является отлов скобка.

Но в самом деле, без лишнего контекста, сложно сказать, не будет ли ваш URL-фильтр не прерываться на странном выходе.

Смежные вопросы