2013-05-28 72 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})