首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

再谈笔试题

今天,把之前学的正则表达式复习了一下。

复习到了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)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180317G0X5HJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券