действительно ли regexp является тем же между языками?
например. если я хочу использовать его в JavaScript, был бы, я должен искать regexp для JavaScript конкретно. вызовите я получил некоторые шпаргалки. это просто говорит регулярное выражение.
я задаюсь вопросом, мог ли я использовать это на всех языках, php, JavaScript и так далее.
Основы в основном те же самые, но есть некоторые различия между движками, на которых работает язык, PHP и JavaScript отличаются, так как PHP использует PCRE (Perl Compatible Regular Expressions - совместимые регулярные выражения).
PHP также имеет POSIX-совместимый регекс-движок (ereg_
* функции), но он устарел.
Если вы еще не используете его, я предлагаю вам попробовать RegexBuddy. Он может конвертировать между несколькими Регекс-движками.
Вы можете найти альтернативы для РегексБадди на Mac здесь.
.Для начала посмотрите здесь . Это моя Библия, когда я делаю регэкспонирование!
Теперь регэкс должен быть везде одинаковым, по крайней мере, основы, однако бывают случаи, когда он отличается от компилятора к компилятору (или интерпретатору, если хотите).
Это может быть то, как Вы ищете конкретный паттерн, возьмем в качестве примера \w
: ищите слово
в c#, но образец в javascript может быть другим.
Когда вы переходите к особому случаю, как этот, вы можете захотеть пересмотреть приведенную выше ссылку.
.Синаксис регулярных выражений немного варьируется между языками, но по большей части детали одинаковы. Некоторые реализации регексов поддерживают несколько различные варианты того, как они обрабатываются, а также что означают определенные специальные последовательности символов.
Google - Ваш лучший друг. Google для регекса на выбранном Вами языке
.Одним из самых больших вариантов регекса является то, как специальные символы экранируются / интерпретируются.
Например, регексы grep, vim и perl отличаются тем, как работать с такими вещами, как ( ) для группировки / захвата шаблона для обратной ссылки в поиске и замене. IIRC, Perl использует их прямо, в то время как grep и vim требуют, чтобы они были экранированы.
Кроме того, Perl-регекс может поддерживать больше возможностей, чем более ранние регексные движки.
Я не совсем уверен, что это правильный способ подвести итог, но в основном есть два основных класса регекса - Posix ( grep и подобные инструменты ) и Perl совместимые ( с небольшими вариациями ).
Одним из инструментов, который я нашел полезным, является Тренер по регексу - интерактивные регулярные выражения.
.