2015-10-01 21 views
-4

我正在尋找從「1」到「15」在日誌文件中匹配NUM正則表達式,而不是從「1」到15" ,因爲在我的文件:正則表達式從「1」到「15」

  • 四月_1
  • 四月_2
  • ..
  • 4月10日
  • 4月11日

用空間(由象徵 「_」)代替鄰f是沒有人的第一個數字。

我想:grep 'Sep [1-9]|1[0-2]'
但它似乎不匹配 「」

+0

*從「1」到「15」,而不是從「1」到「15」*,什麼? xd – ndn

+3

它不工作,因爲四月不是九月。 – x1Mike7x

+0

一個可能是一個範圍轉換爲正則表達式有用的鏈接:http://utilitymill.com/utility/Regex_For_Range – Mariano

回答

2

你可以試試:

grep -E 'Sep[[:blank:]]([[:blank:]][1-9]|1[0-5])' file 

這將匹配

Sep 1 
Sep 2 
Sep 3 
... 
... 
Sep 10 
Sep 11 
... 
... 
Sep 15 
+0

什麼是'之間的區別:空白: '和'\ s'? – Maroun

+1

'\ s'是符合空格,製表符或換行符的PCRE屬性,而'[[:blank:]]'是僅與空格或製表符匹配的POSIX類。 '\ s'不適用於所有Unix版本。 – anubhava

+0

但我只想找到10到15,我不想要1,2,3 ...... – VinceCore

2

April ([1-9]|1[0-5])

(在「四月」之後的兩個空格爲1 -9,10-15一個空間)

0

四月[_] {1,2}((1)[0-5] {1} | [0-5] {1})