正则expression式将字符数限制为10
我正在尝试写一个只允许小写字母和最多10个字符的正则expression式 。 我到目前为止看起来像这样:
pattern: /^[az]{0,10}+$/
这不起作用或编译。 我有一个工作,只会允许这样的小写字母:
pattern: /^[az]+$/
但是我需要限制字符数为10。
您可以使用花括号来控制发生次数。 例如,这意味着0到10:
/^[az]{0,10}$/
选项是:
- {3}恰好3次出现;
- {6,}至less6次出现;
- {2,5}发生2至5次。
请参阅正则expression式参考 。
你的表情在大括号之后有一个+号,因此是错误的。
/^[az]{0,10}$/
应该可以工作。 /^[az]{1,10}$/
如果你想匹配至less一个字符,比如/^[az]+$/
does。
将贪婪匹配添加到string的末尾可能会有好处,所以您可以接受大于10的string,正则expression式只会返回前10个字符。 /^[a-z0-9]{0,10}$?/
它非常依赖于你正在使用的程序。 不同的程序( Emacs , vi , sed和Perl )使用稍微不同的正则expression式。 在这种情况下,我会说在第一种模式中,最后一个“+”应该被删除。
grep '^[0-9]\{1,16\}' | wc -l
给出具有限制的精确匹配计数的计数