gpt4 book ai didi

Python正则表达式匹配子reddit名称

转载 作者:行者123 更新时间:2023-11-30 23:29:33 25 4
gpt4 key购买 nike

我正在学习 python 并尝试使用正则表达式从文件中提取 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:

import re

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

我也无法从文档中弄清楚如何将变量(如 subreddit 名称本身)从匹配中取出。

最佳答案

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

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

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

关于Python正则表达式匹配子reddit名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21109968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com