2012-03-14 63 views
2

我面對下一個正則表達式:"^.*\\(?:some\\).*$"。 我明白了^$\\(\\)用於反向引用。選擇帶有「某些」字詞的行

但是什麼是?:some建設?

+2

'(?:FOO)'通常是一個非捕獲基團。 – Qtax 2012-03-14 10:05:32

回答

3

?:開頭的組是一個非捕獲組,意味着不會有反向引用,因此some將是您的搜索詞。

^是錨以匹配線路

$的開始是錨定到行

你的表達將匹配例如端部相匹配

Foobar的一些文字

Foobar的somemore文本

一些

+0

我們在這裏討論的是Emacs正則表達式,所以分組括號*被轉義。所以它是一個非捕獲組。 – phils 2012-03-14 10:17:44

+0

@phils我從來沒有在emacs中使用正則表達式,我更新了我的答案。 – stema 2012-03-14 10:22:35