还有一个正则表达式字符串匹配

2024-09-29 21:43:14 发布

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

我已经做了4个小时了,但我完全失败了,所以我谦虚地请求帮助

我有一个结构如下的字符串

a197 8101 aaa/bbb/ccc/ddd.doc

我需要一个正则表达式,它将给我ddd.doc。显然,ddd并不总是ddd,可能是“土豆”,可能包含数字等。基本上,我想要正则表达式,它将给出从最后一个“/”到.doc(包括).doc)之间的任何内容

编辑:\/(.*\.html)这是我得到的最接近的,但它将返回/bbb/ccc/ddd.doc

我不想分手,也许我说错了。我只是想比赛


Tags: 字符串编辑内容dochtml数字结构bbb
3条回答
import re

string = "a197 8101 aaa/bbb/ccc/ddd.doc"
# parenthesis forms regex groups
# (group 1 matches start of line to and including /, greedily) = (^.*\/)
# (group 2 matches any character, non-greedy, until end of line) = (.*?$)
result = re.search(r'(^.*\/)(.*?$)', string)
print(result.group(0))
print(result.group(1))
print(result.group(2))

output = result.group(2)

将产生:

a197 8101 aaa/bbb/ccc/ddd.doc
a197 8101 aaa/bbb/ccc/
ddd.doc

请注意,0组将始终是整场比赛

这应该行得通

import re

string="a197 8101 aaa/bbb/ccc/ddd.doc"
result = re.findall(r'\w+\.\w+$', string)
print(result)
import re
pattern = re.compile(r"/([^/\\]+.doc)")
print(pattern.search("a197 8101 aaa/bbb/ccc/ddd.doc").group(1))
print(pattern.search("a197 8101 aaa/bbb/ccc/potato.doc").group(1))
print(pattern.search("a197 8101 aaa/bbb/ccc/01_-2,,.3.doc").group(1))

输出:

ddd.doc
potato.doc
01_-2,,.3.doc

相关问题 更多 >

    热门问题