假設句明確的正則表達式
「的時間,現在晚上8:15。其次是一些其他文本」
爲什麼下面的正則表達式不匹配行?
egrep '\<[1-9]\s*:\s*[0-9]{2}\s*[Pp][Mm]\>' file
我的MAC,使用GNU的egrep
$ egrep的--version egrep的(GNU的grep)2.5.1
假設句明確的正則表達式
「的時間,現在晚上8:15。其次是一些其他文本」
爲什麼下面的正則表達式不匹配行?
egrep '\<[1-9]\s*:\s*[0-9]{2}\s*[Pp][Mm]\>' file
我的MAC,使用GNU的egrep
$ egrep的--version egrep的(GNU的grep)2.5.1
完全無法重現。
的Mac OS X 10.7:
(0)marks-mac-mini> cat file
The time is now 8:15pm. Followed by some other text
"The time is now 8:15pm. Followed by some other text"
(0)marks-mac-mini> egrep '\<[1-9]\s*:\s*[0-9]{2}\s*[Pp][Mm]\>' file
The time is now 8:15pm. Followed by some other text
"The time is now 8:15pm. Followed by some other text"
(0)marks-mac-mini> egrep --version
egrep (GNU grep) 2.5.1
那麼你錯了一些地方...
編輯啊,問題是空間。 egrep不承認\s
;這是一個Perlism。你的問題沒有包括那裏的空間。
這是因爲領先的和尾隨符號正則表達式:<和>。把這些拿出來,這是一場比賽。
但是爲什麼呢?直到[Pp] [Mm] – JAM
@JAM正則表達式似乎一直工作很簡單:讓正則表達式模式中的那些要求它們在目標字符串中。也許你的意思是他們是** \ b **(單詞界限)或其他? – McGarnagle
'egrep'[1-9] \ s *:\ s * [0-9] {2} \ s * [Pp]'file'也無法解析。沒有<>目前 – JAM
「失敗」是什麼意思? – 2012-05-14 02:09:31
它不符合。認爲這很明顯。我會更新問題 – JAM
@JAM我認爲這很清楚你的意思。艱難的人羣在這裏。 – McGarnagle