使用正则表达式将文本中的密码字符串替换为*号

和平1

以下只是当前我遇到的情况的特解,仅供参考。

带密码的字符串类似于:


"您好,您的密码已经重置为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呢?

主 楼 发布于:2019-06-12 18:18:28回复
过飞得更高

祈望你心灵深处芳草永绿,青春常驻,笑口常开。祝你生日快乐,健康幸福!

2 楼 发布于:2019-12-25 02:42:34
回复
骑着蜗牛去西藏

鸳鸯戏水,都他妈淹死;比翼双飞,都他妈摔死。

3 楼 发布于:2022-01-07 15:07:41
回复
与日争辉

火钳刘明

4 楼 发布于:2023-03-14 07:35:01
回复

发表回复: