Ruby регулярное выражение для сопоставления простейших регулярных выражений Ruby - PullRequest
1 голос
/ 17 ноября 2010

Я хочу сопоставить регулярные выражения (по крайней мере, основные, а не все их возможные виды ... на данный момент ...) в тексте сценария Ruby.
Это что-то вроде ... \/\^? oh my god... \$?\/[eimnosux]*

Может быть, мне нужно здесь рекурсивное регулярное выражение.

1 Ответ

3 голосов
/ 17 ноября 2010

Как я прокомментировал выше, вам нужно будет проанализировать Ruby, чтобы различить косые черты и разделители регулярных выражений. Но для самого простого, ПРОСТОГО случая, не беспокоясь об этом, как на счет:

regex_match = %r{/(?:[^/\\]|\\.)+/[mgixo]*}

То есть «прямая косая черта, за которой следует одна или несколько вещей, которые не являются ни прямой косой чертой, ни обратной косой чертой, либо обратной косой чертой, за которой следует что-то еще, за которым следует косая черта и, возможно, некоторые флаги регулярных выражений».

...