2017-04-03 85 views
1

只有在字符串開頭的一行中有3個數字的情況下,我必須制定一個正則表達式來選擇第一個數字。只有當字符串以連續3個數字開頭的字符串時才匹配第一個數字

例子:

012 test 

在這裏,我想給0在字符串的開頭相匹配。

02 test 

在這裏,我不想被正則表達式匹配。

我不知道如何檢查字符串,而不使用正則表達式匹配它。這可能嗎?

+0

使用[先行](http://www.regular-expressions.info/lookaround.html) –

+1

可以使用:'^(\ d)(?= \ d {2} \ b)中' – anubhava

+1

謝謝@anubhava,工作完美。 –

回答

3

使用positive lookahead assertion檢查後面兩位數字和start anchor(^)從字符串的開頭開始。

/^\d(?=\d{2})/ 


UPDATE:您可以使用 word boundary(\b)避免匹配時,它沿用了後兩位數字的任何單詞字符。

/^\d(?=\d{2}\b)/ 
+1

謝謝!完美地工作! –

+1

當字符串爲'123xyz'時,這也會匹配你應該在預見中添加字邊界 – anubhava

+1

@anubhava:yup,你是對的....謝謝,現在更新:) –

相關問題