我试图写一个正则表达式,只允许小写字母和最多10个字符。到目前为止,我看到的是这样的:
pattern: /^[a-z]{0,10}+$/
这不能工作或编译。我有一个工作的,只允许小写字母,是这样的:
pattern: /^[a-z]+$/
但是我需要将字符数限制在10个。
我试图写一个正则表达式,只允许小写字母和最多10个字符。到目前为止,我看到的是这样的:
pattern: /^[a-z]{0,10}+$/
这不能工作或编译。我有一个工作的,只允许小写字母,是这样的:
pattern: /^[a-z]+$/
但是我需要将字符数限制在10个。
当前回答
grep '^[0-9]\{1,16\}' | wc -l
给出与限制精确匹配的计数
其他回答
grep '^[0-9]\{1,16\}' | wc -l
给出与限制精确匹配的计数
这在很大程度上取决于你使用的程序。不同的程序(Emacs、vi、sed和Perl)使用的正则表达式略有不同。在这种情况下,我会说在第一个模式中,最后一个“+”应该被删除。
在字符串的末尾添加贪婪匹配可能是有益的,因此您可以接受字符串>而不是10,正则表达式将只返回最多前10个字符。/ ^ [a-z0-9] {0, 10} $ ?/
/^[a-z]{0,10}$/应该工作。/^[a-z]{1,10}$/如果你想匹配至少一个字符,像/^[a-z]+$/。
您可以使用花括号来控制出现的次数。例如,这意味着0到10:
/^[a-z]{0,10}$/
选项是:
{3}恰好3次; {6,}至少出现6次; {,4}最多出现4次; {2,5} 2到5次。
请参阅正则表达式参考。
你的表达式在右花括号后面加了一个+,因此出现了错误。