我有一个来自短信的字符串,如:
"您的代码:123456.您的参考编号为012.总金额为E 1250,00 .."
现在我需要提取代码'123456',它每次都不同,但总是6位数.
如何从字符串中提取这个6位数字?我能以某种方式使用正则表达式吗?我需要确定,所以我不想拆分'代码:'例如.
编辑:文本的其余部分可能不同,但SMS中只有6位数字.
man*_*ana 20
regexpr为6位数字
\d{6}
Run Code Online (Sandbox Code Playgroud)
编辑:代码看起来像
public static String extractDigits(final String in) {
final Pattern p = Pattern.compile( "(\\d{6})" );
final Matcher m = p.matcher( in );
if ( m.find() ) {
return m.group( 0 );
}
return "";
}
Run Code Online (Sandbox Code Playgroud)
不确定Java的Regex是否支持外观.如果是这样的话:
(?<!\d)\d{6}(?!\d)
Run Code Online (Sandbox Code Playgroud)
编辑:确实如此.(谢谢波希米亚人)
| 归档时间: |
|
| 查看次数: |
6861 次 |
| 最近记录: |