今天,把之前学的正则表达式复习了一下。
复习到了re.split()的时候,我感觉自己好傻逼。
之前那个题目用re.split()一下子就可以解决的。
唉!!!
如下 re.split(r'[\s|\\]',s)
以后学习得边学边做记录了喽,还得经常复习。
要不然,很吃亏的。
不会也就算了。
忘了那就很傻逼了。
加强记忆了。
后面附上今天复习的关于调用正则表达式的模式的实例,这个东西也是,总是学总是忘。
re.I IGNORECASE, 忽略大小写的匹配模式
In [59]: s = 'hello World!'In [60]: regex = re.compile("Hello world!", re.I)In [61]: regex.match(s).group()Out[61]: 'hello World!'
re.M MULTILINE,多行模式, 改变 ^ 和 $ 的行为
In [63]: sOut[63]: 'first line\nsecond line\nthird line'In [64]: pattern=re.compile(r'^\w+')In [65]: re.findall(pattern,s)Out[65]: ['first']In [67]: pattern=re.compile(r'\w+',re.M)In [68]: re.findall(pattern,s)Out[68]: ['first', 'line', 'second', 'line', 'third', 'line']
re.S DOTALL,此模式下 '.' 的匹配不受限制,可匹配任何字符,包括换行符,也就是默认是不能匹配换行符
In [62]: s = '''first line ...: second line ...: third line'''In [71]: regex=re.compile('.+',re.S)In [73]: regex.findall(s)Out[73]: ['first line\nsecond line\nthird line']In [74]: regex=re.compile('.+')In [75]: regex.findall(s)Out[75]: ['first line', 'second line', 'third line']
re.X VERBOSE,冗余模式, 此模式忽略正则表达式中的空白和#号的注释
email_regex = re.compile("[\w+\.]+@[a-zA-Z\d]+\.(com|cn)")email_regex = re.compile("""[\w+\.]+ # 匹配@符前的部分 @ # @符 [a-zA-Z\d]+ # 邮箱类别 \.(com|cn) # 邮箱后缀 """, re.X)
领取专属 10元无门槛券
私享最新 技术干货