Re: [問題] regular 在java unix 為什麼不一樣?
看板RegExp (正規表示式 Regular Expression)作者LPH66 (-6.2598534e+18f)時間9年前 (2015/09/25 18:22)推噓2(2推 0噓 15→)留言17則, 2人參與討論串2/2 (看更多)
※ 引述《pttnews (PTT新聞)》之銘言:
: 在java 我用 http://java-regex-tester.appspot.com/ 測試
: 在unix 我用 vim 測試
: 最近小弟在學習regular , regular 實屬強大不得不學
: 有很多問題
: 例如:
: [a-b[c-d]] 我想要找a-b and c-d
: 在vim 沒辦法找到 /[a-b[c-d]
: 在java 則可以
: 請問各位高手, 這兩者為何不一?
: 找到答案,
: Unix 要加上\
: [a-b\[c-d\]]
你一定哪裡搞錯了
[a-b\[c-d\]] 是「a 到 b、或 [、或 c 到 d、或 ]」
這怎麼看都不是「a-b and c-d」...
再說你這句「a-b and c-d」也語焉不詳,究竟你想找的是什麼東西 @@
----
然後回到 [a-b[c-d]],它是 [a-b[c-d] 跟著 ]
前一個是「a 到 b、或 [、或 c 到 d」
[] 的規則是平常時候只有 [ 為特殊字,] 不是;
碰到 [ 之後變成 ] 為特殊字,[ 不是
然後這兩個特殊字中間再去套字元類別的規則
也就是 [] 是沒有巢狀結構的,[ 會配上它後面第一個看到的 ] 把中間一把抓
原式找不到東西的原因多半就是因為這樣而留在外面的最後一個 ] 吧
在外面 ] 不是特殊字所以它就要求對上一個 ] 字
--
LPH [acronym]
= Let Program Heal us
-- New Uncyclopedian Dictionary, Minmei Publishing Co.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.30.49
※ 文章網址: https://www.ptt.cc/bbs/RegExp/M.1443176561.A.4C5.html
推
09/25 21:00, , 1F
09/25 21:00, 1F
→
09/25 21:01, , 2F
09/25 21:01, 2F
→
09/25 21:02, , 3F
09/25 21:02, 3F
→
09/25 21:04, , 4F
09/25 21:04, 4F
→
09/25 21:04, , 5F
09/25 21:04, 5F
→
09/25 21:41, , 6F
09/25 21:41, 6F
→
09/25 21:41, , 7F
09/25 21:41, 7F
→
09/25 21:43, , 8F
09/25 21:43, 8F
→
09/25 21:43, , 9F
09/25 21:43, 9F
→
09/25 21:47, , 10F
09/25 21:47, 10F
→
09/25 21:47, , 11F
09/25 21:47, 11F
→
09/25 21:48, , 12F
09/25 21:48, 12F
→
09/25 21:49, , 13F
09/25 21:49, 13F
→
09/25 21:49, , 14F
09/25 21:49, 14F
推
09/25 22:08, , 15F
09/25 22:08, 15F
→
09/25 22:09, , 16F
09/25 22:09, 16F
→
09/25 22:10, , 17F
09/25 22:10, 17F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章