Re: [問題] regular 在java unix 為什麼不一樣?

作者: LPH66 (-6.2598534e+18f)   2015-09-25 18:22:38
※ 引述《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」也語焉不詳,究竟你想找的是什麼東西 @@
作者: pttnews (PTT新聞)   2015-09-25 21:00:00
謝謝L大, 我想要測試 交集 跟 聯集http://goo.gl/hY9mHX按照他上面的說明 [a-d[m-p]]聯集 [a-z&&[def]]交集事實上, 好像如你所說[]被當成字元看待請問是不是他說錯了
作者: LPH66 (-6.2598534e+18f)   2015-09-25 21:41:00
應該是他弄錯了...常見的 regexp 的 character class直接寫一起就是聯集, 如 [a-dm-p]交集的話我不太確定, 似乎有 google 到好像部份的 regexp支援他講的 && 語法的樣子啊, 找到文件了: 他講的那種交集聯集語法 java 有支援所以你在那個網站上面測試會如你所預期Oracle 官方說明文件→http://tinyurl.com/o7dz2g2但那種語法一般的 PCRE regexp 是不支援的所以 vim 才試不出來
作者: pttnews (PTT新聞)   2015-09-25 22:08:00
謝謝L大好像.NET也有一些奇怪的語法先不管~現有這些夠用了

Links booklink

Contact Us: admin [ a t ] ucptt.com