看板 RegExp 關於我們 聯絡資訊
1. 我記得RE不能用來解讀出巢狀結構 有記錯嗎? 所以<div></div>如果內含不定層的巢狀<div>, 我們就沒辦法準確抓取最外面的<div> 同理在這個RE的天然限制下, vi之類的editor幫程式碼上色的功能也不需要考慮巢狀 2. 我記得RE也不能比對回文 連parser也做不到 真的要比對回文得跑非線性演算法。 但是在Perl中使用了\g{}用以代表先前出現過的() 就可以表達出固定長度回文結構 /\S\S\g{2}\g{1}/ 這是不是確實超出原本RE的能力範圍? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.166.1
LPH66:你理解的都是對的。數學上的 RE 是不包含 back reference 03/17 15:27
LPH66:加上 back ref 的話會落在數學上的 RE 和 context-free 之間 03/17 15:28
StarTouching:不過我還是有地方記錯了 回文至少CF grammer可以解讀 03/17 15:55
ggegge:Regex engine oniguruma 可以比對回文 不過他已經不是RE了 03/18 00:33
ggegge:pragprog.com/magazines/2010-12/whats-new-in-ruby- 03/18 00:37
ggegge:裡面有用Regex match回文和巢狀{} 03/18 00:38