使用re进行Python中的字符串匹配

0 投票
1 回答
1216 浏览
提问于 2025-04-15 15:08

我有一个这样的文件结构:

009/foo/bar/hi23123/foo/bar231123/foo/bar/yo232131

我需要找到一个字符串的精确匹配;比如说,只匹配/foo/bar,而不是/foo/bar/hi或/foo/bar/yo。

我想到的一个解决办法是检查输入字符串后面是否有一个"/"。因为如果可能的结果后面有"/",那就说明它和单独的/foo/bar不一样。

关于这个解决方案,我想说的是:

input = /foo/bar

还有

match input without ending "/"

我该如何在Python中用正则表达式来实现这个呢?

顺便说一下,如果你有其他的解决方案建议,欢迎在这里分享。

1 个回答

8

所以你想要的是 /foo/bar 后面跟一个 /?如果是这样的话,你需要用到一种叫“负向前瞻”的技巧,

r = re.compile(r'/foo/bar(?!/)')

然后你可以尽情使用 r.search 来进行搜索。

撰写回答