2016-04-30 28 views
0

如果您嘗試http://regexr.com/正則表達式\t您將獲得所有單個選項卡。但是,如果您嘗試\t*,您只能在第一行的開頭。爲什麼?爲什麼` t *`不會匹配零個或多個標籤?

+2

使用'/ g'標誌,你將匹配所有。當然,你需要'\ t +',儘管'\ t *'可以匹配一個空字符串,並且會匹配字符串中的每個位置。提示:使用regex101.com獲得更好的用戶體驗。 –

+0

@WiktorStribiżew我想要的是,在我的正則表達式中,有零個或多個選項卡。但是'\ t *'不起作用......使用'\ t * *'(零個或多個製表符,零個或多個空格)有什麼不對? –

+3

XY問題?更新與你真正有什麼問題的問題。 –

回答

0

如果您僅使用\t*,那麼您嘗試匹配沒有任何內容,一個或多個標籤。正則表達式中的任何內容都不會匹配任何內容,因此它不起作用。 如果您需要查找一個或多個選項卡,請改爲使用\t+。 要使您的正則表達式在所有行上都能正常工作,請使用global設置。有一個例子:http://regexr.com/3db4i

+0

OP在更長的模式內使用'\ t *'。改成'\ t +'可能不是真正必要的。 –

+0

@WiktorStribiżew這不是在問題中指定的,我已經注意到你的評論遲到了。你爲什麼不把它作爲答案發布? – Harms

+0

@你認爲'\ t *'有「regexp中什麼都不會匹​​配任何東西」的情況,但是它確實與第一行開始時的選項卡匹配。 –

相關問題