所以我是新來正則表達式....我什麼也沒有意識到這是...正則表達式的邏輯括號...?
我怎樣才能搜索一個特定的正則表達式每次在一個字符串,即匹配所有'測試'在給定的字符串....我可以使用什麼作爲合乎邏輯的禁忌?
/(test)*/
這會返回幾個匹配/反向引用,並且似乎不是用於邏輯分組/順序執行。
所以我是新來正則表達式....我什麼也沒有意識到這是...正則表達式的邏輯括號...?
我怎樣才能搜索一個特定的正則表達式每次在一個字符串,即匹配所有'測試'在給定的字符串....我可以使用什麼作爲合乎邏輯的禁忌?
/(test)*/
這會返回幾個匹配/反向引用,並且似乎不是用於邏輯分組/順序執行。
要創建的匹配組停止括號,用?:
/(?:test)*/
這只是比賽的「測試」多次連續啓動它們,而不會有任何保存匹配的字符串。
讓我問一下,在邏輯括號的作用下,是否經常需要(?:
值得注意的是,這個構造特定於Perl(和大多數語言可以的PCRE相關係統)。在grep,awk和其他POSIX風格的正則表達式環境中不起作用。 – 2010-02-18 20:40:46
您的正則表達式僅指定連續出現的測試。對於所有人來說,你通常需要給我們一面旗幟來表明你想要匹配所有的事件,而不僅僅是第一次。在大多數語言中,這通過使用'g'標誌來指示。
/test/g
我對此很新,謝謝....另外,知道是戰鬥的一半。 – Zombies 2010-02-18 20:41:25
我不明白你在問什麼。你能舉一個例子,這會有用嗎? – wallyk 2010-02-18 20:14:43
它不是很清楚你想要什麼樣的結果。你能發佈一個樣本輸入字符串和所需的輸出嗎? – Juliet 2010-02-18 20:15:06
您是否試圖抓住字符串中'test'的所有實例,以便您可以用其他方式替換它們?你能詳細說明你的目標嗎? – 2010-02-18 20:15:08