Perl 5.10 के साथ, use re 'debug';
। (या debugcolor
, लेकिन मैं स्टैक ओवरफ्लो पर आउटपुट को ठीक से फॉर्मेट नहीं कर सकता।)
$ perl -Mre = debug -e '"foobar" = ~ / (।) \ 1 /'
संकलन REx "(।) \"
अंतिम कार्यक्रम:
1: OPEN1 (3)
3: REG_ANY (4)
4: CLOSE1 (6)
6: REF1 (8)
8: END (0)
मीनल १
मैचिंग REx "(।)" 1 "के खिलाफ" फोब्बर "
0 <> <फोबार> | 1: OPEN1 (3)
0 <> <फोबार> | 3: REG_ANY (4)
1 <f> <oobar> | 4: CLOSE1 (6)
1 <f> <oobar> | 6: REF1 (8)
अनुत्तीर्ण होना...
1 <f> <oobar> | 1: OPEN1 (3)
1 <f> <oobar> | 3: REG_ANY (4)
2 <fo> <obar> | 4: CLOSE1 (6)
2 <fo> <obar> | 6: REF1 (8)
3 <foo> <बार> | 8: अंत (0)
मैच सफल!
नि: शुल्क रेक्स: "(?) \ 1"
इसके अलावा, आप उन्हें अधिक पठनीय बनाने के लिए regexes में व्हॉट्सएप और टिप्पणियां जोड़ सकते हैं। पर्ल में, यह /x
संशोधक के साथ किया जाता है । के साथ pcre
, PCRE_EXTENDED
ध्वज है।
"foobar" =~ /
(.) # any character, followed by a
\1 # repeat of previously matched character
/x;
pcre *pat = pcre_compile("(.) # any character, followed by a\n"
"\\1 # repeat of previously matched character\n",
PCRE_EXTENDED,
...);
pcre_exec(pat, NULL, "foobar", ...);