您可以使用pattern
(?<!d)d{6}(?!d),它的意思是“一个不带数字的字符串位置;紧随其后的是六个数字;紧跟着一个数字位置的字符串位置”。(记号
(?<!...),已知为
阴性向后断言 ,意思是“不是由前面
...”。记号
(?!...),已知为 阴性预测先行断言
,意思是“后面没有
...”。该符号
d的装置的一个数字。该符号
{n}的意思是“ Ñ 次”,所以例如
d{6}“六位数”。)
可能看起来像这样:
final String number;{ final Matcher m = Pattern.compile("(?<!\d)\d{6}(?!\d)").matcher(input); if(m.find()) number = m.group(); // retrieve the matched substring else number = null; // no match found}
注意:
此答案的先前版本建议使用单词边界
b;但是您的评论之一表明,这些数字可能紧接在繁体中文字符之前或之后,这些字符被视为单词字符(因此不会触发单词边界),因此我将其更改了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)