作者forestfire (幹 一直停電!!)
看板EzHotKey
標題Re: [AHK-] 關於 RegExMatch()...快被它搞死了
時間Fri Jan 1 13:59:31 2010
※ 引述《cog5566 (刃之56)》之銘言:
: RegExMatch(Haystack, NeedleRegEx , UnquotedOutputVar)
: 說明書上說,如果多於一個被match到的話,
: 會存在陣列裏面,如
: UnquotedOutputVar1
: UnquotedOutputVar2
: UnquotedOutputVar3
: 舉例來說
: RegExMatch("a11ba22ba33ba44b", "a.*?b" , output)
: 應該會變成
: output1 是 a11b
: output2 是 a22b
: output3 是 a33b
: output4 是 a44b
: 可是我都試不出來呀!!!
: 我錯了嗎!!??
太久沒用了@@~
你寫得我很順我也看得很順XDD
NeedleRegEx 裡包含 ()時候才會回傳 array
第一個出現的() 就是array1
第二個出現的() 就是array2
依此類推
原式改成 (a.*?b) 貼四次就是你舉例的答案了
即 (a.*?b)(a.*?b)(a.*?b)(a.*?b)
應該還有更簡單的表示法~ 不過久沒用忘了 -.-
你再試試吧 ^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.200.78
2F:→ hpo14:replace needleRegEx with -> "(a.*?b)*" 01/03 04:16
3F:→ hpo14: and try it 01/03 04:16
4F:推 cog5566:感謝兩位的大力相助。f大的方法我試出來了。h大的還是沒辦 01/03 16:24
5F:→ cog5566:法。不過我想這樣有一個決定性的問題,就是實際上的情況是 01/03 16:25
6F:→ cog5566:常常沒有辦法知道有多少個match的token在裏面。 01/03 16:27
7F:→ forestfire:通常重覆的會用grep去做 說明裡面有連結~ 01/04 20:06