我需要一个执行以下操作的正则表达式:
- 重复任意数量x次数
- 忽略字符并不对其计数(例如:空白和"/"(
这是我现在拥有的正则表达式:[0-9]{0,5}
然而,它不包括以下合法字符串:
1 2 3 4 5
123/45
1234 5
1 234 4
1/234/5
1/234 5
1 2/3 4/5
1 2345
1 ////23/////45
我试过了:
[s*/*0-9]{0,5} //counts unwanted characters
[0-9s/]{0,5} //counts unwanted characters
[0-9-s+/]{0,5} //counts unwanted characters
[s+/-]{0,}[0-9]{0,5} // does not mix
这在regex中可能吗?
我可以做的另一个解决方案是删除这些字符,然后与模式进行比较。
您可以使用的正则表达式是
(?:[ /]*d){0,5}
请参阅regex演示详细信息:
(?:
-非捕获组的开始:[ /]*
-零个或多个空格或斜线d
-一位数字
){0,5}
-组末,匹配0到5次
如果您需要匹配最后一位后的任何空格或斜线,请在末尾添加[ /]*
:
(?:[ /]*d){0,5}[ /]*