我有这个正则表达式:
/(.*)(([0-9]([^a-zA-Z])*){7,}[0-9])(.*)/.
给定以下值
0654535263
065453-.-5263
065asd4535263
预期成绩
06****
06****
06****
实际结果
0654535263
06****
065asd4535263
它与最后一行不匹配,因为字母(我想从 0-3 个字母匹配)并且它只匹配最后一次出现(在示例的第二行中,它跳过第一行)。
首先感谢你们所有的回答都非常有帮助,我欠你们时间。我不能创建数字数组并像这样屏蔽它们,因为我可以有这样的字符串:
我是约翰,我的电话号码是:0、6、5、4、5、3、5、2、6 - 3 -- 065asd4535263。
为了简化,我想隐藏输入的手机号码。
我有两个问题:
- 更改上面提到的 regxp,以隐藏不超过 3 个字符分隔的数字。
- preg_replace 只替换了一次。
最后,我只需要正则表达式来替换任何数字数组,至少 6 位长,由任意数量的特殊字符分隔(12--654-5、453/--222、23....5645 等)或不超过 3 个字符(过滤器)(06asd453、123as562)。
再次感谢您,所有答案都很有帮助,但我很生气,因为我没有正确地提出我的问题。
PS我不能给你声誉,因为我必须至少有15个,一旦我得到那么多,我就会“投票”,所有答案都值得。