3 回答

TA貢獻1841條經驗 獲得超3個贊
您購買RegexBuddy并使用其內置的調試功能。如果你一年兩次使用正則表達式,你就可以及時將這筆錢及時存起來。RegexBuddy還將幫助您創建簡單和復雜的正則表達式,甚至可以為您生成各種語言的代碼。
此外,根據開發人員的說法,當與WINE一起使用時,這個工具在Linux上幾乎完美運行。

TA貢獻2003條經驗 獲得超2個贊
使用Perl 5.10 , use re 'debug';. (或者debugcolor,我無法在Stack Overflow上正確格式化輸出。)
$ perl -Mre = debug -e'“foobar”=?/(。)\ 1 /'
編譯REx“(。)\ 1”
最終計劃:
1:OPEN1(3)
3:REG_ANY(4)
4:關閉1(6)
6:REF1(8)
8:結束(0)
明娜1
將REx“(。)\ 1”與“foobar”匹配
0 <> <foobar> | 1:OPEN1(3)
0 <> <foobar> | 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> <bar> | 8:END(0)
匹配成功!
釋放REx:“(。)\ 1”
此外,您可以向正則表達式添加空格和注釋,以使它們更具可讀性。在Perl中,這是使用/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", ...);

TA貢獻1863條經驗 獲得超2個贊
我使用Kodos - Python正則表達式調試器:
Kodos是一個Python GUI實用程序,用于為Python編程語言創建,測試和調試正則表達式。Kodos應該幫助任何開發人員高效,輕松地在Python中開發正則表達式。由于Python的正則表達式實現基于PCRE標準,因此Kodos應該使其他編程語言的開發人員受益,這些編程語言也遵循PCRE標準(Perl,PHP等...)。
(......)
在Linux,Unix,Windows,Mac上運行。
- 3 回答
- 0 關注
- 544 瀏覽
添加回答
舉報