Столкнулся с этой удобной утилитой регулярного выражения в Python (я - новичок в Python). например, При помощи regexp
(?P[a-zA-Z_]\w*)
Я могу обратиться к согласованным данным как
m.group('id')
(Полная документация: ищите "символьное название группы" здесь),
В Ruby мы можем получить доступ к подобранному ссылочному использованию $1, $2
или использование объекта MatchData (m[1], m[2]
и т.д.). Действительно ли там что-то подобно Символьным Названиям группы Python в Ruby?
Старые релизы Ruby не имели названных групп (Tx Alan для указания этого комментария!), Но, если вы используете Ruby 1.9 ...:
(? <Имя> Субфп)
выражает названную группу в выражении рубирования тоже; \ K <Имя>
- это то, как вы поддерживаете названную группу в замене, если это то, что вы ищете!
Ruby 1.9 Введенные именованные съемки:
m = /(?<prefix>[A-Z]+)(?<hyphen>-?)(?<digits>\d+)/.match("THX1138.")
m.names # => ["prefix", "hyphen", "digits"]
m.captures # => ["THX", "", "1138"]
m[:prefix] # => "THX"
Вы можете использовать \ k <префикс>
, и т. Д., Для обратных ссылок.