2013-05-28 68 views
0

我有一個可變長度的字符串,並希望僅前16個字符,如果該字符串是匹配超過8正則表達式 - 混淆 - 串的第一部分只匹配

一個例子: testertestertestertestertesterte

我正則表達式是:

([a-zA-Z1-9_]{8,16}) 

然而,代替匹配:

testertestertest 

它匹配整個字符串 - 每16個字符一次。

這怎麼可能只限於第一場比賽?

+3

這正則表達式的味道,你使用? – melwil

回答

2

你應該把一個錨上的正則表達式來表示比賽應該是在該行的開頭:

^([a-zA-Z1-9_]{8,16}) 
4

如果你想它來搭配,如果有字符串中超過8個字符,您可以錨與^

^([a-zA-Z1-9_]{8,16}) 

搜索到的字符串的開始,你將需要調整8到9。

^([a-zA-Z1-9_]{9,16})