请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生

【Python 第58课】 正则表达式(4)

[复制链接]

0

主题

0

好友

44

积分

新手上路

Rank: 1

发表于 2017-7-15 18:08:01 |显示全部楼层
crossin先生 发表于 2013-11-3 21:11
我也觉得没问题

[)- ]python3.x报错
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2017-7-16 17:56:11 |显示全部楼层
swinh 发表于 2017-7-15 18:08
[)- ]python3.x报错

确实,中括号里的 - 需要转义为 \-,除非在括号开头或者结尾
因为同时它还有别的含义,表示从一个字符到另一个字符
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

35

积分

新手上路

Rank: 1

发表于 2017-9-22 10:41:56 |显示全部楼层
先生,我用\(?0\d{2,3}[\) \-]?\d{8}
匹配一大串数字,比如0258445336205,他会把后一串的0也加进去,这怎么办呢
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2017-9-22 22:47:55 |显示全部楼层
chchch0720 发表于 2017-9-22 10:41
先生,我用\(?0\d{2,3}[\) \-]?\d{8}
匹配一大串数字,比如0258445336205,他会把后一串的0也加进去,这怎 ...

\(?0\d{2,3}?[\) \-]?\d{8}

但你这个所有号码连在一起,本来就会有歧义,很难处理
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

35

积分

新手上路

Rank: 1

发表于 2017-9-25 10:05:45 |显示全部楼层
crossin先生 发表于 2017-9-22 22:47
\(?0\d{2,3}?[\) \-]?\d{8}

但你这个所有号码连在一起,本来就会有歧义,很难处理 ...

好啦谢谢先生,主要是想把放在一起的几个号码分别匹配出来,现在OK了
回复

使用道具 举报

0

主题

0

好友

20

积分

新手上路

Rank: 1

发表于 2018-2-21 19:49:22 |显示全部楼层
先生,不知道你还在不在:)
我第一次的时候在正则表达式两端加上了 \b
然后发现(021)88776543这个号码就被匹配成了021)88776543
这应该怎么理解呢?
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2018-2-22 13:05:30 |显示全部楼层
IRVING_LEE 发表于 2018-2-21 19:49
先生,不知道你还在不在:)
我第一次的时候在正则表达式两端加上了 \b
然后发现(021)88776543这个号码就 ...

\b 的话,会识别标点和数字交界
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

20

积分

新手上路

Rank: 1

发表于 2018-2-23 10:47:20 |显示全部楼层
crossin先生 发表于 2018-2-22 13:05
\b 的话,会识别标点和数字交界

谢谢先生
回复

使用道具 举报

0

主题

0

好友

26

积分

新手上路

Rank: 1

发表于 2018-5-15 10:12:07 |显示全部楼层
先生好:
(?: exp)  #exp是正则表达式
这样子不捕获也不参与组号分配,这样做的原因是为了对那些只用一次的分组,省内存嘛?
还是因为别的原因,
在什么情况下我们会用到呢?
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2018-5-16 09:40:53 |显示全部楼层
宝丁 发表于 2018-5-15 10:12
先生好:
(?: exp)  #exp是正则表达式
这样子不捕获也不参与组号分配,这样做的原因是为了对那些只用一次的 ...

你不要捕获exp匹配的内容,只需要用它来定位
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

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

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

GMT+8, 2024-3-29 19:28 , Processed in 0.026876 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部