在正则表达式中,\**是什么意思?

TIM*_*MEX 14 python regex syntax

在Python中.R 5 [\ w*] $

那是什么意思?

Ada*_*kin 42

快速回答:匹配由单个字符组成的字符串,其中该字符是字母数字(字母,数字),下划线(_)或星号(*).

细节:

  • " \w"表示"任何单词字符",通常表示字母数字(字母,数字,不论情况)加下划线(_)
  • 在" ^""锚"的字符串的开头,而" $""锚"为字符串的结束,这意味着,在这种情况下,比赛必须在字符串的开头开始,并在年底结束的字符串.
  • []意味着一个字符类,意思是"匹配字符类中包含的任何字符".

还值得一提的是,字符串的正常引用和转义规则使得输入正则表达式变得非常困难(所有反斜杠都需要使用额外的反斜杠进行转义),所以在Python中有一个特殊的符号,它有自己的特殊引用规则允许正确解释所有反斜杠,这就是r开头的" ".

注:正常情况下,星号(*)表示"0或更多的以前的东西",但在上面的例子中,它并没有这个意思,因为星号是内部字符类的,所以它失去了它的"特殊性".

有关Python中正则表达式的更多信息,两个官方参考是re模块,正则表达式HOWTO.

  • 在Python 3中,`\ w`的定义默认情况下考虑了Unicode字符定义,因此它比`[^ a-zA-Z0-9_]`宽得多。有关详细信息,请参见https://docs.python.org/3/library/re.html#module-re。 (2认同)