Python regex来匹配subreddit名称

2024-05-29 04:40:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是在学习python,并尝试用regex从文件中提取subreddits,但运气不太好。。在

import re

string1 = "asdf asdf 587985 (*&(*& /r/whatever3/fjfjfjjrr /r/whatever2 jfdnhkjv43$#$"
matches = re.search(r"/r/+(\S)+[/ ]", string1)
if matches:
    print matches.groups()

似乎根本不能正常工作,尽管语法在我看来是正确的(它应该匹配一个不带空格(\S)的字符串,后跟空格或正斜杠[/]

此版本可能与“whatever3”匹配--它返回至少是最后一个字符的3:

^{pr2}$

我也很难从文档中找出如何从匹配中提取变量(比如subreddit名称本身)。。在


Tags: importresearchifregex空格matchesasdf
1条回答
网友
1楼 · 发布于 2024-05-29 04:40:54

(\S)+捕获\S的最后一次重复。使用(\S+)来捕获所有非空格。在

以上包括中间的斜杠。要排除它们,请将\S更改为[^\s/]。在

>>> re.findall(r"/r/([^\s/]+)", string1)
['whatever3', 'whatever2']

相关问题 更多 >

    热门问题