【发布时间】:2017-07-17 16:33:05
【问题描述】:
我正在尝试匹配由连字符或空格(如银行帐号)连接的至少 5 个字符(对于整个字符串)的数字。
例如
“12345-62436-223434”
“12345 6789 123232”
我应该也能匹配
“123-4567-890”
我正在使用的当前模式是
(\d[\s-]*){5,}[\W]
但我遇到了这些问题。
- 执行此操作时,我会在匹配至少 5 个数字字符的数字后匹配所有空格
-
我要替换它,所以我只想匹配数字,而不是空格和连字符。
当我得到比赛时,我想做的就是像下面那样掩盖它。
从“12345-67890-11121”到“*****-*****-*****”
或
从“12345 67890 11121”到“***** ***** *****”
我唯一的问题是我无法像我想要的那样匹配它。
谢谢!
【问题讨论】:
-
这是什么正则表达式的味道??? javascript/python/ c#??????
-
@AbdulHameed 我真的不明白这个味道,但我会在 java 上做这个。
-
两个问题:1)有多少个数字分组,2)每个分组有多少个数字?有范围吗?
-
@TimBiegeleisen 我会更新问题,我认为分组没有必要,我也应该匹配这样的东西。 “123 4567 89”或“123-4567-89”
-
根据您的新编辑,123-4 是阳性测试用例吗??
标签: regex