Regex условный взгляд за совпадением символов - PullRequest
0 голосов
/ 27 января 2012

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

Что я хочу сделать, это сказать, если за «есть", это не может быть \ w.Как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 27 января 2012

Попробуйте слова слов. Соответствует началу и концу искомого шаблона

\bto\b

Это именно то, что вы хотите сказать, т.е.

Так что же именно соответствует \ b? Механизмы регулярных выражений не понимают английский или любой другой язык в этом отношении, и поэтому они не знают, что такое границы слов. \ b просто соответствует местоположению между символами, которые обычно являются частями слов (буквенно-цифровые символы и подчеркивание, текст, который будет соответствовать \ w), и любым другим (текст, который будет соответствовать \ W).

Самс научи себя регулярным выражениям за 10 минут Бен Форта

1 голос
/ 27 января 2012

Попробуйте использовать \bto\b, что будет соответствовать to в качестве отдельного слова

Вот хорошее объяснение :

Есть триразличные позиции, которые квалифицируются как границы слов:

  • перед первым символом в строке, если первый символ является символом слова.

  • послепоследний символ в строке, если последний символ является символом слова.

  • Между двумя символами в строке, где один является символом слова, а другой - не символом слова.

Проще говоря: \b позволяет выполнять поиск «только целых слов» с использованием регулярного выражения в форме \bword\b.«Символ слова» - это символ, который можно использовать для формирования слов.Все символы, которые не являются «символами слова», являются «несловесными символами».

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