即使在搜索正则表达式的例子后,我也无法弄清楚这一点。 有人能告诉我这个表达意味着什么吗?
/.{2,}/
感谢您的帮助
答案 0 :(得分:4)
贪婪地匹配两个或多个不是行分隔符的字符,但是...... 。
取决于您的引擎:
.
匹配任何不是\n
的字符...请注意,因为这包括回车\r
.
匹配任何不是换行符的字符(\n
,\r
,段落分隔符)...... {2,}
贪婪(它会尽可能多地占用字符数)
请注意,{2,}
量词是"贪婪":.{2,}
将匹配尽可能多的字符,并且只会"返回字符" (回溯)如有必要,例如允许下一个令牌(如果有的话)匹配。
DOTALL
模式
在dotall
模式下(您在各种引擎中以不同方式启用),.
也会匹配行分隔符。
s
标志m
标志答案 1 :(得分:3)
.
匹配除换行符之外的任何字符。引自MDN's RegExp page,
(小数点)匹配除换行符之外的任何单个字符。
{2,}
表示两次或更多次。
因此,整个表达式意味着“匹配任何长度大于或等于2的字符集”
答案 2 :(得分:2)
{ , }
是重复量词。它用于指定 任何令牌可以在成功匹配时重复多少次。
引自Limiting Repetition
:( HERE)
语法为{min,max}
,其中min为零或表示最小匹配数的正整数,max为等于或大于min的整数,表示最大匹配数。 如果逗号存在但省略了max,则最大匹配数为无限。
因此,{2,}
将表示前一个字符的 2或更多 。
.
表示任何字符(line separator
除外),forward-slashes
表示正则表达式的开头和结尾。
更新:
So far I have this regex for characters allowed. /^[a-zA-Z0-9'.,\s\-&()]*$/ Do I need to keep /.{2,}/ in the field?
{a,b}
指定匹配字符串的最小值(通过 a )和最大值(通过 b )。因此,如果您需要为 letters, numbers, commas,and periods
指定最小和/或最大限制,则可以在 正则表达式 >群组 (例如[ ]
)并在此群组后面放置{ a, b}
,如下所示:/^[a-z]{2,200}$/
。这将匹配一串 2到200个小写字母。
至于您的letters, numbers, commas,and periods
,在正则表达式/^[a-zA-Z0-9'.,\s\-&()]*$/
中,您需要转义.
并将*
替换为{2,max-limit}
,如下所示:
/^[a-zA-Z0-9'\.,\s\-&()]{2,20}$/
- > DEMO