设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
123
返回列表 发新帖
楼主: crossin先生
打印 上一主题 下一主题

【Python 第59课】 正则表达式(5)

[复制链接]

0

主题

0

好友

36

积分

新手上路

Rank: 1

21#
发表于 2018-10-22 19:14:31 |只看该作者
crossin先生 发表于 2018-10-21 21:54
最后多个中括号]吧

先生正解,谢谢先生
回复

使用道具 举报

0

主题

0

好友

22

积分

新手上路

Rank: 1

22#
发表于 2019-5-17 17:07:57 |只看该作者
本帖最后由 jaxon 于 2019-5-17 17:12 编辑

import re
text = "(021)88776543和规范化和010-55667890规范化个02584453362广发华福0571 66345673个回合6565,UUID"

n = re.findall(r"[\(0]\d{2,3}\D{0,1}\d{8}", text)
if n:
    #print(m)
    print(n)
else:
    print('not match')
   
先生好,这是我自己想的课后练习答案,能正确输出所有号码,
['(021)88776543', '010-55667890', '02584453362', '0571 66345673']
但是改为n = re.findall(r"^[\(0]\d{2,3}\D{0,1}\d{8}", text)
只能输出第一个号码
['(021)88776543']
改为n = re.findall(r"^[\(0]\d{2,3}\D{0,1}\d{8}$", text)
输出not match
不太懂这个^和$的用法。
回复

使用道具 举报

0

主题

0

好友

22

积分

新手上路

Rank: 1

23#
发表于 2019-5-17 17:37:26 |只看该作者
jaxon 发表于 2019-5-17 17:07
import re
text = "(021)88776543和规范化和010-55667890规范化个02584453362广发华福0571 66345673个回合6 ...

^表示整个字符串必须以给定的格式开头,否则就无匹配
$表示字符串必须以给定的格式结尾,否则就无匹配
^,$一起用表示整个字符串就是给定的格式
不知道对不对
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

24#
发表于 2019-5-18 14:28:19 |只看该作者
jaxon 发表于 2019-5-17 17:37
^表示整个字符串必须以给定的格式开头,否则就无匹配
$表示字符串必须以给定的格式结尾,否则就无匹配
^, ...

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 07:36 , Processed in 0.023408 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部