我是正则表达式的新手,
有人可以为我解释一下这些模式吗:
[a-fA-F\d]{30}
[\d\w]
[-+_~.\d\w]
[-\d\w]{0,253}
答案1
首先,有几点需要注意:
\d
是表示任意数字的简写。[0-9]
和字符类[[:digit:]]
类似于\d
。\w
是所有字母数字的简写,并且_
。[a-zA-Z0-9_]
和[[:alnum:]_]
类似于\w
。
现在正则表达式模式:
[a-fA-F\d]{30}
abcdefABCDEF0123456789
将匹配恰好 30 次中的任意字符。[\d\w]
将匹配[0-9]
和之间的任何单个字符[a-zA-Z0-9_]
。请注意,\w
包含[0-9]
,因此您不需要\d
。只需使用\w
。[-+_~.\d\w]
将匹配 之间的任何单个字符-+_~.[0-9][a-zA-Z0-9_]
。请注意 已经\w
包含_
和 ,[0-9]
因此您无需明确提及_
和\d
。这可以简化为[-+~.\w]
[-\d\w]{0,253}
将匹配 、和之间的任何字符-
,最少匹配 0 次,最多匹配 253 次。同样不需要,您可以使用[0-9]
[a-zA-Z0-9_]
\d
[-\w]{0,253}