![正则表达式中的模式符号的使用](https://linux22.com/image/872901/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%B8%AD%E7%9A%84%E6%A8%A1%E5%BC%8F%E7%AC%A6%E5%8F%B7%E7%9A%84%E4%BD%BF%E7%94%A8.png)
我是正则表达式的新手,
有人可以为我解释一下这些模式吗:
[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}