字符串我有一個字符串這樣正則表達式匹配包含兩個詞
Start the function "function name" (any words here ie .*) (0x10)
或'Lets start function "function name" (any words here ie .*) (0x0B)
或等等等等。function "function name" will start (any words here ie .*) (0x0C).
其實,我需要一個正則表達式匹配Start
和function
單詞在字符串中的特定順序不需要Start
單詞應該在該行的開始符合string2
即Start
應該是第一次出現,並且function
單詞應該是第二個,而不管它們在字符串中的位置。
上面的第三個字符串將不匹配,因爲Start
字出現在單詞function
之後。如果Reg ex匹配,那麼我需要在()
內捕獲"function name"
即string inside double quotes
和(0x10)ie hex values
。
我曾嘗試以下正則表達式這並沒有幫助
^(?=.*\bStart\b)(?=.*\bfunction\b)"(.*?)".*\((\b0[xX][0-9a-fA-F]+\b)\).*$
你不需要'*'在開始和結束時,他們可能會使事情真的,可怕的慢(儘管在這種情況下我沒有測量)。另外,['\ b'可以給出令人驚訝的結果](http://blog.nu42.com/2012/04/using-b-in-regex-patterns-can-lead-to.html)。 – 2012-04-09 13:54:22