我正在尝试编写一个只允许使用小写字母和最多10个字符的regular expression。到目前为止我看到的是这样的:
pattern: /^[a-z]{0,10}+$/
这不起作用或编译。我有一个只允许使用小写字母的工作:
pattern: /^[a-z]+$/
但我需要将字符数限制为10。
答案 0 :(得分:313)
您可以使用花括号来控制出现次数。例如,这意味着0到10:
/^[a-z]{0,10}$/
选项包括:
请参阅regular expression reference。
你的表达式在结束大括号之后有一个+,因此错误。
答案 1 :(得分:9)
/^[a-z]{0,10}$/
应该有效。 /^[a-z]{1,10}$/
如果您想匹配至少一个字符,例如/^[a-z]+$/
。
答案 2 :(得分:8)
将贪婪匹配添加到字符串的末尾可能是有益的,因此您可以接受字符串>超过10,正则表达式只返回前10个字符。 /^[a-z0-9]{0,10}$?/
答案 3 :(得分:6)
答案 4 :(得分:5)
WITH Positions AS(SELECT * FROM (VALUES (3),(6),(9),(12),(15),(18),(21),(24),(27),(30),(33),(36)) AS v(Nr))
SELECT @xml.value(N'(/RECORD/*[sql:column("Positions.Nr")]/text())[1]',N'nvarchar(max)') AS FUEL_TYPE
,@xml.value(N'(/RECORD/*[sql:column("Positions.Nr")+1]/text())[1]',N'nvarchar(max)') AS RATE_US
,@xml.value(N'(/RECORD/*[sql:column("Positions.Nr")+2]/text())[1]',N'nvarchar(max)') AS RATE_CAN
FROM Positions
使用具有限制
的精确匹配计数给出计数答案 5 :(得分:0)
pattern: /[\w\W]{1,10}/g
在我的情况下,我使用了这个表达式,它包含了文本中所有可用的字符。