我一直在努力弄清楚如何最好地做这个正则表达式.
这是我的要求:
任何想法,将不胜感激.
这是我到目前为止所做的,但它只查找连续的字母字符:
^(\d|([A-Za-z])(?!([A-Za-z]{3,}))){0,8}$
Run Code Online (Sandbox Code Playgroud)
我写的是这样的:
^(?=[a-z0-9]{0,8}$)(?:\d*[a-z]){0,3}\d*$
Run Code Online (Sandbox Code Playgroud)
它有两个部分:
(?=[a-z0-9]{0,8}$)
(?:\d*[a-z]){0,3}\d*$
[a-z]之间\d*12345678 // matches
123456789
@(#*@$
12345 // matches
abc12345
abcd1234
12a34b5c // matches
12ab34cd
123a456 // matches
Run Code Online (Sandbox Code Playgroud)
我认为正则表达式是最好的解决方案,但由于字符串很短,因此通过以下两个步骤执行此操作会更具可读性:
[a-z0-9]{0,8}\d
<= 3| 归档时间: |
|
| 查看次数: |
8977 次 |
| 最近记录: |