匹配和提取字符串
    导入re 即是import re
    re.findall(“ “ ,从哪里找) 将符合规则的字符串以列表形式返回【‘ ’】

    1.通配符,re.findall(“ .”,字符串)可以将字符串以【‘ ’,‘ ’,‘ ’】返回,但是\n不能返回。
    ‘.’可以替代任何字符:
    “a.[0-9]”:表示一个字符串有一个”a”后面跟着一个任意字符和一个数链接字;
    “^.{3}$”:表示有任意三个字符的字符串(长度为3个字符);
    如果在字符串后面再加‘“ re.S”可以得到所有的
    2^ 脱字符可以找到自定义并且是开头位置的元素,re.findall(“^要找的字符”,从哪里找)在后面加”,re.M”表 示 匹配多行。适用于有多个换行符的。
    3& 结束位置,找到以自定义并且是结尾位置的元素
    re.findall(“ 指定字符串&”),可以使用re.M匹配多行,否则只是找到一行
    4* 匹配0到无穷次
    5+ 匹配1到无穷次
    6? 匹配0到1次
    “ab“:表示一个字符串有一个a后面跟着零个或若干个b。(”a”, “ab”, “abbb”,……);
    “ab+”:表示一个字符串有一个a后面跟着至少一个b或者更多;
    “ab?”:表示一个字符串有一个a后面跟着零个或者一个b;
    “a?b+$”:表示在字符串的末尾有零个或一个a跟着一个或几个b。
    7{}
    “ab{2}”:表示一个字符串有一个a跟着2个b(”abb”);
    “ab{2,}”:表示一个字符串有一个a跟着至少2个b;
    “ab{3,5}”:表示一个字符串有一个a跟着3到5个b。
    8[]
    方括号表示找到在[]字符串中的任一元素,可以指定范围用-来表示范围:
    “[ab]”:表示一个字符串有一个”a”或”b”(相当于”a¦b”);
    “[a-d]”:表示一个字符串包含小写的’a’到’d’中的一个(相当于”a¦b¦c¦d”或者”[abcd]”);
    “^[a-zA-Z]”:表示一个以字母开头的字符串;
    “[0-9]%”:表示一个百分号前有一位的数字;
    “,[a-zA-Z0-9]$”:a-z所有小写字母,A-Z所有大写字母,中间不分割开。表示一个字符串以一个逗号后面跟着一个字母或数字结束。
    你也可以在方括号里用[“^字符串”]表示不希望出现的字符,’^’应在方括号里的第一位。(如:”%[^a-zA-Z]%”表示两个百分号中不应该出现字母)。
    9 | 表示或者
    10()1表示将括号内的内容作为整体进行处理,2表示在已经得到的列表中继续寻找括号内的内容并且返回列表
    11 r
    ( r” “)可以使得\n \r \t这些带有特殊作用的符号不转义,跟前面再加个\差不多
    *12\
    如果在正则表达式前面加\那么正则表达式不起作用

    也可以查看百度的注解 。点击

    //校验是否全由数字组成
    /^[0-9]{1,20}$/
    ^ 表示打头的字符要匹配紧跟^后面的规则
    $ 表示打头的字符要匹配紧靠$前面的规则
    [ ] 中的内容是可选字符集
    [0-9] 表示要求字符范围在0-9之间
    {1,20}表示数字字符串长度合法为1到20,即为[0-9]中的字符出现次数的范围是1到20次。
    /^ 和 $/成对使用应该是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串。
    为了逐字表达,你必须在”^.$()¦*+?{\”这些字符前加上转移字符’\’。