|
Major Member
|
引用:
|
作者anderson1127
請注意我之前說的....
如果你有需要刮弧裡的資料,才去刮弧起來,如果只是要match ,不需要matched 後的資料
那刮弧可以不用!!
上面的例子,是需要刮弧內的資料,然後再去match zero or more (意思是說,只要match 0個或以上)
那個pattern的意思是說, 我要match 一個","及數字,數字一組要三個,比如說(000 001 002 ....以此類推)
然後這個matched後的資料,其數目要zero or more !!
也就是說,如果字串是 "123,456,789,000" 就會match ,而matched之後的資料是
,456,789,000
有錯請指正!!
|
+1, 你說的就是我想說的, 只是我當時趕下班, 稍微看一下就回, 所以沒講那麼詳細, 不需要 group 的 back reference 基本上就不用加 (), 像我知道 PCRE 的 parser 程式本身就會有 buffer, 這也是 PCRE 比 POSIX RE 快很多的原因, buffer 與否, 跟 () 應該是沒太大關係.
我也是從 Perl 玩到 PHP, 當初學 Perl 與 RE 也是看駱駝書, 不過那也大概是十幾年前的事了, 老實說也大概忘了書的內容, 倒是 RE 一直用到現在, 搞 Linux Develop 的人, 基本上 RE 是一定要會的.
__________________
滿招損 謙受益
|