我从来没有使用正则表达式,所以我有一个问题,理解为什么我的下面列出的正则表达式。不仅允许下面列出的字符:
这是正则表达式:
/^[\s\da-0-9-zA-ZåäöÅÄÖ_]$/i
我做错了什么?
答案 0 :(得分:1)
因为此a-0-9-z
的顺序相反。使用此:^[\s\da-zA-ZåäöÅÄÖ_]$
或此:(?i)^[\s\da-zåäö_]$
并将ignore case选项设置为启用。
您还可以使用特殊字符\w
,这意味着:letters, digits, and underscores
在正则表达式中,您使用的是\d
和0-9
。 \d
包括0-9
,请参阅Explanation
答案 1 :(得分:0)
这里的表达是一个逐字副本吗?因为在
/^[\s\da-0-9-zA-ZåäöÅÄÖ_]$/i
你有
a-0-9-zA-Z
你可能意味着
0-9a-zA-Z
答案 2 :(得分:0)
错误是 a-0-9-z ,应该 a-z0-9
此外,你可以丢失0-9,因为你使用\ d,你可以使用\ w作为任何“单词”字符。
答案 3 :(得分:0)
此正则表达式将匹配单个字符串,并且不区分大小写,如下所示:任何空格字符,任何数字(0-9),任何字母(a-ZA-Z)和åäöÅÄÖ_之一。
答案 4 :(得分:0)
Dunno关于拉丁语,但如果您使用0-9
则不需要\d
,如果您使用a-zA-Z
标志,则不需要/i
,这使得一切都不区分大小写,所以你可以只留下a-z
。