регулярные выражения - то же для всех языков?

действительно ли regexp является тем же между языками?

например. если я хочу использовать его в JavaScript, был бы, я должен искать regexp для JavaScript конкретно. вызовите я получил некоторые шпаргалки. это просто говорит регулярное выражение.

я задаюсь вопросом, мог ли я использовать это на всех языках, php, JavaScript и так далее.

11
задан Alan Moore 30 December 2009 в 17:28
поделиться

4 ответа

Основы в основном те же самые, но есть некоторые различия между движками, на которых работает язык, PHP и JavaScript отличаются, так как PHP использует PCRE (Perl Compatible Regular Expressions - совместимые регулярные выражения).

PHP также имеет POSIX-совместимый регекс-движок (ereg_* функции), но он устарел.

Если вы еще не используете его, я предлагаю вам попробовать RegexBuddy. Он может конвертировать между несколькими Регекс-движками.

Вы можете найти альтернативы для РегексБадди на Mac здесь.

.
14
ответ дан 3 December 2019 в 06:21
поделиться

Для начала посмотрите здесь . Это моя Библия, когда я делаю регэкспонирование!

Теперь регэкс должен быть везде одинаковым, по крайней мере, основы, однако бывают случаи, когда он отличается от компилятора к компилятору (или интерпретатору, если хотите).

Это может быть то, как Вы ищете конкретный паттерн, возьмем в качестве примера \w: ищите слово в c#, но образец в javascript может быть другим.

Когда вы переходите к особому случаю, как этот, вы можете захотеть пересмотреть приведенную выше ссылку.

.
4
ответ дан 3 December 2019 в 06:21
поделиться

Синаксис регулярных выражений немного варьируется между языками, но по большей части детали одинаковы. Некоторые реализации регексов поддерживают несколько различные варианты того, как они обрабатываются, а также что означают определенные специальные последовательности символов.

Google - Ваш лучший друг. Google для регекса на выбранном Вами языке

.
1
ответ дан 3 December 2019 в 06:21
поделиться

Одним из самых больших вариантов регекса является то, как специальные символы экранируются / интерпретируются.

Например, регексы grep, vim и perl отличаются тем, как работать с такими вещами, как ( ) для группировки / захвата шаблона для обратной ссылки в поиске и замене. IIRC, Perl использует их прямо, в то время как grep и vim требуют, чтобы они были экранированы.

Кроме того, Perl-регекс может поддерживать больше возможностей, чем более ранние регексные движки.

Я не совсем уверен, что это правильный способ подвести итог, но в основном есть два основных класса регекса - Posix ( grep и подобные инструменты ) и Perl совместимые ( с небольшими вариациями ).

Одним из инструментов, который я нашел полезным, является Тренер по регексу - интерактивные регулярные выражения.

.
0
ответ дан 3 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: