2014-07-21 68 views
-1

我有這樣的數據如下:正則表達式抓住幾乎整個字符串

(F812)被張貼在1500

今天的跟蹤日誌將有一個新的日誌(F813)明天在0700

我試圖在每個括號之間進行匹配,而不是匹配幾乎整個字符串。

\((.*)\) 

我在做什麼錯?

+0

http://stackoverflow.com/questions/2301285/what-do-lazy-and-greedy-mean-in-the-context-of-regular-expressions –

回答

4

*greedy量詞;儘可能消耗。爲了使其不貪心使用*?。一旦您指定了問號,你說明(不要貪...只要你找到一個) ......停下來,你就大功告成了。)

\((.*?)\) 
    ^

Live Demo

+1

我錯過了一些愚蠢的東西。謝謝。 – user3859047

0

有三件事情你設計正則表達式模式時要記住:

  1. 東西必須出現
  2. 東西不能出現
  3. 有可能會出現(以及多少次)

它很典型地匹配括號和引號之類的對。請使用以下模式:

\(([^)]+)\) 

「(」和「)」是「必須出現的」和他們的「不能出現的」之間(意味着你不要指望,以meeet「)」之前。觀看這個演示:http://rubular.com/r/Ki9puMZmBJ

相關問題