python 正则表达式如何截取字符串中间的内容

请问python中正则表达式如何获取字符串中间指定内容,例如"forum/135/topic/794150"我分别想获得135和794150,正则表达式应该怎么写?在网上... 请问python中正则表达式如何获取字符串中间指定内容,例如

"forum/135/topic/794150"
我分别想获得135 和794150,正则表达式应该怎么写?
在网上找到的方法都不太对,恳请大牛指教~
展开
 我来答
程序员养大闸蟹
推荐于2019-10-28 · 自家的蟹塘,苏州阳澄湖蓝标大闸蟹养殖户
程序员养大闸蟹
采纳数:2362 获赞数:20622

向TA提问 私信TA
展开全部

示例代码

启动ipython先导入re模块

这里我用到了findall全局匹配,分为两部分,前面是正则,后面是要匹配的字符串

得到一个元祖

通过变量a 就能打印出想要的字符串

扩展资料

在 Python 中,我们可以使用内置的 re 模块来使用正则表达式,re 模块提供了不少有用的函数,用以匹配字符串,比如:

re 模块的一般使用步骤如下:

  • 使用 compile 函数将正则表达式的字符串形式编译为一个 Pattern 对象

  • 通过 Pattern 对象提供的一系列方法对文本进行匹配查找,获得匹配结果(一个 Match 对象)

  • 最后使用 Match 对象提供的属性和方法获得信息,根据需要进行其他的操作

findall 方法的使用形式如下:

findall(string[, pos[, endpos]])

其中,string 是待匹配的字符串,pos 和 endpos 是可选参数,指定字符串的起始和终点位置,默认值分别是 0 和 len (字符串长度)。

findall 以列表形式返回全部能匹配的子串,如果没有匹配,则返回一个空列表。

看天下小事
推荐于2019-08-02 · TA获得超过489个赞
知道答主
回答量:41
采纳率:0%
帮助的人:1.2万
展开全部

是需要从字符串中提取数字吗

如图所示:

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。

re 模块使 Python 语言拥有全部的正则表达式功能。

compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

函数语法:

re.match(pattern, string, flags=0)

re.search方法

re.search 扫描整个字符串并返回第一个成功的匹配。

函数语法:

re.search(pattern, string, flags=0)

re.match与re.search的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦里寻你我他
推荐于2017-07-03 · TA获得超过2199个赞
知道大有可为答主
回答量:2171
采纳率:42%
帮助的人:1205万
展开全部
\w*\/(\d+)\/\w*\/(\d+)

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
自我西郊
推荐于2018-07-30 · TA获得超过351个赞
知道答主
回答量:132
采纳率:0%
帮助的人:129万
展开全部
import re
pattern = re.compile("forum\/(\d*)\/topic\/(\d*)")
res = pattern.search('forum/135/topic/794150').groups()
print res[0],res[1]
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随风飘扬201204
2017-06-28 · TA获得超过294个赞
知道小有建树答主
回答量:363
采纳率:67%
帮助的人:56.5万
展开全部
import re

string = "forum/135/topic/794150"
print(re.findall(r'forum/(\d+)/topic/(\d+)',string))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式