有没有办法用正则表达式将regular expression限制为100个字符?
\[size=(.*?)\](.*?)\[\/size]
所以Look at me!
无效。
我想限制数字,只允许1到100之间的数字。
答案 0 :(得分:25)
有没有办法用正则表达式将正则表达式限制为100个字符?
您的示例表明您希望从正则表达式中获取一个数字,然后使用此数字将最大长度放在正则表达式后面匹配的另一个部分上。这通常不可能一次通过。你最好的选择是有两个独立的正则表达式:
如果您只想限制表达式匹配的字符数,则大多数正则表达式通过使用大括号来支持 bounds 。例如,
\d{3}-\d{3}-\d{4}
将匹配(美国)电话号码:正好是三位数,然后是连字符,然后是正好三位数,然后是另一个连字符,然后恰好是四位数。
同样,您可以设置上限或下限:
\d{5,10}
表示“至少5位,但不超过10位”。
更新: OP澄清说他正在尝试限制值,而不是长度。我的新答案是不要使用正则表达式。提取值,然后将其与从size参数中提取的最大值进行比较。它不容易出错。
答案 1 :(得分:14)
如果要将有效输入限制为1到100之间的整数值,可以执行以下操作:
^([1-9]|[1-9][0-9]|100)$
<强>解释强>
不接受: 1.零 - 0 2.任何前面带有零的整数--01,021,001 3.任何大于100的整数
希望这有帮助!
盖孜
答案 2 :(得分:8)
如果您想要1到100之间的数字:
100|[1-9]\d?
答案 3 :(得分:1)
限制正则表达式中字符的长度吗? ^ [a-z] {6,15} $'
限制正则表达式中字符或数字的长度吗? ^ [a-z | 0-9] {6,15} $'
答案 4 :(得分:-1)
(^(\d{2})|^(\d{4})|^(\d{5}))$
此表达式采用长度2,4和5的数量。有效输入为 12 1234 12345