Ниже моя строка, из которой я хочу найти подстроку:
потяните, если {{MySQL}}.EmployeePerson!.City - "Сиэтл", затем {{MySQL}}.EmployeePerson!.StateProvinceID, иначе "0" в качестве StateProvinceID из {{MySQL}}.EmployeePerson!
и вот мое регулярное выражение
Сотрудник!\b
поэтому мне нужно найти "EmployeePerson!" строка, но я не могу получить никакого результата, поэтому, пожалуйста, помогите.
Заранее спасибо.
Ответ 1 · Community
Когда вы ставите \b после !, вам требуется слово char после !.
См. какой границе слова соответствует:
Есть три разных положения, которые можно квалифицировать как границы слов:
- Перед первым символом в строке, если первый символ является символом слова.
- После последнего символа в строке, если последний символ является символом слова.
- Между двумя символами в строке, где один является символом слова, а другой не является символом слова.
Таким образом, вам нужно удалить \b, если вам не нужно проверять контекст после !, или заменить \b на \B, для которого потребуется символ, не являющийся словом, или конец строки.
Чтобы найти EmployeePerson! как целое слово, просто используйте
\bEmployeePerson!
or
\bEmployeePerson!\B
или - если вам нужно убедиться, что на обоих концах есть пробелы или начало/конец строки:
(?<!\s)EmployeePerson!(?!\s)
или - если вы хотите убедиться, что на обоих концах нет символов слов:
(?<!\w)EmployeePerson!(?!\w)