Regex условный взгляд за совпадением символов
Поэтому я хочу найти строку "to" в строке, но только когда она автономна. Это может быть в начале строки, как в "сделать это", поэтому я не могу искать "до".
То, что я хочу сделать, это сказать, что если есть символ "to", он не может быть \w. Как я могу это сделать?
2 ответа
Попробуйте слово boudaries. Соответствует началу и концу искомого шаблона.
\bto\b
Это именно то, что вы хотите сказать, т.е.
Так что же именно соответствует \ b? Механизмы регулярных выражений не понимают английский или какой-либо другой язык в этом отношении, и поэтому они не знают, что такое границы слов. \b просто соответствует расположению между символами, которые обычно являются частями слов (буквенно-цифровые символы и подчеркивание, текст, который будет соответствовать \ w), и любым другим (текст, который будет соответствовать \W).
Самс научи себя регулярным выражениям за 10 минут Бен Форта
Попробуйте использовать \bto\b
, который будет соответствовать to
как отдельное слово
Есть три разных положения, которые квалифицируются как границы слов:
Перед первым символом в строке, если первый символ является символом слова.
После последнего символа в строке, если последний символ является символом слова.
- Между двумя символами в строке, где один является символом слова, а другой не является символом слова.
Проще говоря:
\b
позволяет выполнять поиск "только целых слов" с помощью регулярного выражения в форме\bword\b
, "Символ слова" - это символ, который можно использовать для формирования слов. Все символы, которые не являются "символами слова", являются "несловесными символами".