Quick answer: Match a string consisting of a single character, where that character is alphanumeric (letters, numbers) an underscore (_
) or an asterisk (*
).
Details:
- The "
w
" means "any word character" which usually means alphanumeric (letters, numbers, regardless of case) plus underscore (_)
- The "
^
" "anchors" to the beginning of a string, and the "$
" "anchors" To the end of a string, which means that, in this case, the match must start at the beginning of a string and end at the end of the string.
- The
[]
means a character class, which means "match any character contained in the character class".
It is also worth mentioning that normal quoting and escaping rules for strings make it very difficult to enter regular expressions (all the backslashes would need to be escaped with additional backslashes), so in Python there is a special notation which has its own special quoting rules that allow for all of the backslashes to be interpreted properly, and that is what the "r
" at the beginning is for.
Note: Normally an asterisk (*
) means "0 or more of the previous thing" but in the example above, it does not have that meaning, since the asterisk is inside of the character class, so it loses its "special-ness".
For more information on regular expressions in Python, the two official references are the re module, the Regular Expression HOWTO.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…