正则表达式中的模式符号的使用

正则表达式中的模式符号的使用

我是正则表达式的新手,

有人可以为我解释一下这些模式吗:

[a-fA-F\d]{30}

[\d\w]

[-+_~.\d\w]

[-\d\w]{0,253} 

答案1

首先,有几点需要注意:

  1. \d是表示任意数字的简写。[0-9]和字符类[[:digit:]]类似于\d

  2. \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}

相关内容