python每日学习9:正则表达式

时间:2025-02-23 08:37:53
  • ?:匹配前面的字符0次或1次。

  • *:匹配前面的字符0次或多次。

  • +:匹配前面的字符1次或多次。

  • . :匹配除’\n’之外的任何单个字符。使用[.\n]匹配包括\n的任何字符。

  • {n}表示n个字符,用{n,m}表示n~m个字符。

  • :将特殊字符转义。

  • A|B可以匹配A或B,所以(P|p)ython可以匹配’Python’或者’python’。

  • ^:表示行的开头。

  • ^\d:表示必须以数字开头。

  • $:表示行的结束。

  • \d$:表示必须以数字结束。

    \d{3}表示匹配3个数字,例如'010'
    \s可以匹配一个空格(也包括Tab等空白符),所以\s+表示至少有一个空格,例如匹配 '空格','空格空格','空格空格空格'等;
    \d{3,8}表示3-8个数字,例如'1234567','123','12345'
    综上,该正则表达式可以匹配以任意个空格隔开的带三位区号的电话号码4
    要匹配'010-12345'这样的号码,由于'-'是特殊字符,要用'\'转义,所以可用\d{3}\-\d{3,8}进行匹配。