亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

你如何調試正則表達式?

你如何調試正則表達式?

動漫人物 2019-09-18 19:55:25
正則表達式可能變得非常復雜。缺少空白區域使他們難以閱讀。我無法通過調試器使用正則表達式。那么專家如何調試復雜的正則表達式呢?
查看完整描述

3 回答

?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

您購買RegexBuddy并使用其內置的調試功能。如果你一年兩次使用正則表達式,你就可以及時將這筆錢及時存起來。RegexBuddy還將幫助您創建簡單和復雜的正則表達式,甚至可以為您生成各種語言的代碼。

http://img1.sycdn.imooc.com//5d821b4b0001d6dc09600720.jpg

此外,根據開發人員的說法,當與WINE一起使用時,這個工具在Linux上幾乎完美運行。


查看完整回答
反對 回復 2019-09-18
?
湖上湖

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", ...);


查看完整回答
反對 回復 2019-09-18
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

我使用Kodos - Python正則表達式調試器:


Kodos是一個Python GUI實用程序,用于為Python編程語言創建,測試和調試正則表達式。Kodos應該幫助任何開發人員高效,輕松地在Python中開發正則表達式。由于Python的正則表達式實現基于PCRE標準,因此Kodos應該使其他編程語言的開發人員受益,這些編程語言也遵循PCRE標準(Perl,PHP等...)。


(......)

http://img1.sycdn.imooc.com//5d821b6500015ae505480573.jpg

在Linux,Unix,Windows,Mac上運行。


查看完整回答
反對 回復 2019-09-18
  • 3 回答
  • 0 關注
  • 544 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號