以下只是当前我遇到的情况的特解,仅供参考。
带密码的字符串类似于:
"您好,您的密码已经重置为123456,请及时登录并修改密码。"
密码的格式为6位纯数字。
使用正则表达式:
Pattern p = Pattern.compile(".*密码\\D{1,6}(\\d{6})(\\D+.*|)");
说明:文本格式为
"密码"+1到6个描述或连接文字+6位密码+后面的文本或直接至结尾
存在的问题为:
“密码”两字和密码字符串中必须是1-6个非数字字符;
加入密码为8个数字,该正则表达式也会匹配得到。
所以最大的问题就是:
a、123456abc
b、12345678
c、12345678abc
以上3个字符串,如何使用正则表达式匹配到a,而不匹配到bc呢? |