Когда я ищу регулярные выражения для различных целей, я вижу людей, использующих разделители, такие как /
, #
, !
и ~
. Делают ли они что-то другое, или они имеют такой же эффект?Разные разделители регулярных выражений
ответ
Они ничего другого не делают, они разграничивают регулярное выражение (в языки, где это необходимо).
Разница заключается в следующем: поведение этого символа внутри регулярного выражения изменяется. Разделитель регулярных выражений становится дополнительным специальным символом и должен быть экранирован (==> выберите разделитель, который вам не нужен в регулярном выражении!).
Side Примечание: В PHP вы можете даже использовать регулярный выражение специального символ, как +
или |
как регулярное выражение разделителя, но это работает только тогда, когда вам не нужен этот символ внутри регулярного выражения (не рекомендуется). related answer
На некоторых языках вы можете выбрать разделители, в других вы не можете.
Вы должны избегать этого разделителя каждый раз, когда он появляется в регулярном выражении. Выбор разделителя, который не встречается в выражении, уменьшает необходимость экранирования, что облегчает чтение выражения.
следующие два регулярных выражения идентичны, за исключением того, что первые применения /
в качестве разделителя, в то время как второй использует #
:
/http:\/\/example\.com\/.*\/foo\// #http://example\.com/.*/foo/#
- 1. Выясните файл или разделители регулярных выражений
- 2. Несколько шаблонов строк регулярных выражений (разные поля)
- 3. Соответствие регулярных выражений MAC-адресам (разные разделители, форматирование и т. Д.)
- 4. Python: двигатель C не поддерживает разделители регулярных выражений
- 5. регулярных выражений (регулярных выражений) в vb.net
- 6. Получение регулярных выражений (регулярных выражений) в Stata
- 7. Регулярных выражений
- 8. регулярных выражений
- 9. Правила двигателей регулярных выражений. Жадность, рвение и леность регулярных выражений
- 10. Эффективность поиска регулярных выражений
- 11. Несколько отдельных регулярных выражений
- 12. множественность множественных выражений регулярных выражений
- 13. Объединение выражений 2 регулярных выражений
- 14. Длина совпадения регулярных выражений
- 15. Неявное и явное создание регулярных выражений дает разные результаты exec
- 16. Как обрабатывать разные диалекты регулярных выражений (java vs. xsd)?
- 17. Почему grep возвращает разные результаты при использовании регулярных выражений?
- 18. Регуляция регулярных выражений в SAS
- 19. Аномалия в выводе регулярных выражений
- 20. Удалить совпадение регулярных выражений, помещенных внутри других регулярных выражений
- 21. Rspec 3: проверка проверки регулярных выражений регулярных выражений
- 22. Преобразование C++ Повышение регулярных выражений в Python повторно регулярных выражений
- 23. Предварительно построенные шаблоны регулярных выражений или библиотеки регулярных выражений?
- 24. Использование регулярных выражений регулярных выражений и рубинов для нахождения значений
- 25. Несколько матчей регулярных выражений в рамках других регулярных выражений
- 26. Усиление IP-адреса Проверка регулярных выражений - Рефакторинг регулярных выражений
- 27. Построение регулярных выражений с использованием ранее составленных регулярных выражений
- 28. XML-выражения регулярных выражений для регулярных выражений Java
- 29. Валидатор регулярных выражений Asp.net
- 30. Шаблон регулярных выражений Java