drd*_*man 25
既然你问过"怎么样",我会尝试一步一步解释.因为您没有指定使用哪种正则表达式,所以我将提供PCRE和两个POSIX正则表达式变体的示例.
对于像这样的简单情况,你应该考虑自动化的正则表达式,一次接受一个字符,并且无论何时它是有效的(接受字符).在每个字符之后,您可以指定量词可能出现的次数,例如(在PCRE方言中)*(零次或多次),+(一次或多次)或{n ,m}(从n到m次).然后施工过程变得简单:
PRCE | B.POSIX | E.POSIX | Comments
------+---------+-----------+--------------------------------------------------
^ | ^ | ^ | Unless you are going to accept anything with 10
| | | digits in it, you need to match start of data;
\d | [0-9] | [:digit:] | You need to match digits;
{1,10}| \{1,10\}| {1,10} | You have to specify there is from 1 to 10 of them.
| | | If you also wish to accept empty string — use 0;
$ | $ | $ | Then, data should end (unless see above).
Run Code Online (Sandbox Code Playgroud)
因此,结果是^\d{1,10}$,^[0-9]\{1,10}\$或^[:digit:]{1,10}$分别.
^\d{1,9}$
Run Code Online (Sandbox Code Playgroud)
这将匹配1位数到9位的任何数字.
由于您没有指定正在使用的正则表达式,这应该可以让您到达所需的位置.如果没有,请告诉我们您正在使用哪种正则表达式技术.