Ruby регулярное выражение для сопоставления простейших регулярных выражений Ruby
Я хочу сопоставить регулярные выражения (по крайней мере, основные, а не все их возможные виды... на данный момент...) в тексте сценария Ruby.
Это что-то вроде... \/\^? oh my god... \$?\/[eimnosux]*
Может быть, мне нужно рекурсивное регулярное выражение здесь.
1 ответ
Как я уже говорил выше, вам нужно будет проанализировать Ruby, чтобы различить косые черты и разделители регулярных выражений. Но для самого простого, ПРОСТОГО случая, не беспокоясь об этом, как насчет:
regex_match = %r{/(?:[^/\\]|\\.)+/[mgixo]*}
То есть "прямая косая черта, за которой следует одна или несколько вещей, которые не являются прямой косой чертой или обратной косой чертой, или являются обратной косой чертой, за которой следует что-то еще, в конце концов следует косая черта и, возможно, некоторые флаги регулярных выражений".