python3 中关于一个正则表达式的问题

2014-06-21 16:27:46 +08:00
 forreal
用的是python3.3.5 IDE是pycharm
我想取出标签、汉字、单词、数字、和空格
代码如下
import re
regex = re.compile("<[^>]*>|[\u4e00-\u9fa5]|[a-zA-Z]*|\d*|\s*")
print(regex.findall('''<i> bob是</i>25岁<br/>'''))

结果是
['<i>', '', 'bob', '是', '</i>', '', '', '岁', '<br/>', '']
想请教一下为什么数字25取不出来?
2985 次点击
所在节点    Python
3 条回复
forreal
2014-06-21 16:42:39 +08:00
第二行代码改为
regex = re.compile(r"<[^>]*>|[\u4e00-\u9fa5]|[a-zA-Z]*|\d*")
还是取不到数字25
czheo
2014-06-21 17:44:02 +08:00
把所有的* 改成+ 试试
forreal
2014-06-21 17:48:03 +08:00
@czheo 哈哈,取到了,多谢。^_^

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/118790

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX