首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RegEx从Python中弹出多个字母数字字符串

问使用RegEx从Python中弹出多个字母数字字符串
EN

Stack Overflow用户
提问于 2019-01-03 17:58:33
回答 1查看 405关注 0票数 1

我一直在努力想办法解决这个问题,但我有限的判断力却阻碍了我的发展。我想知道是否可以使用regex/python从给定的URL中删除字母数字字符串。这些字母数字字符串将只包含a,通过f和到9。例如:

代码语言:javascript
复制
/cab/user/core1/bdc49fd8/bd77de6ce

我想用regex得到:

代码语言:javascript
复制
/cab/user/core1

在这里,我可以删除最后一个字母数字字符串,但是当同一个URL中有多个字母数字字符串时,它就会失败:

代码语言:javascript
复制
import re
print(re.sub(r'\/[a-f0-9]*$', ' ', "/cab/user/core1/bdc49fd8"))

在以下方面的成果:

代码语言:javascript
复制
/cab/user/core1 

但是:

代码语言:javascript
复制
import re
print(re.sub(r'\/[a-f0-9]*$', ' ', "/cab/user/core1/bdc49fd8/bd77de6ce"))

在以下方面的成果:

代码语言:javascript
复制
/cab/user/core1/bdc49fd8 

是否有方法从URL中删除所有出现的特定字母数字模式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-03 18:14:45

你可以用

代码语言:javascript
复制
import re
print(re.sub(r'(?:/[a-fA-Z0-9]*)+$', '', "/cab/user/core1/bdc49fd8/bd77de6ce"))
# => /cab/user/core1

请参阅Python演示和regex演示。

(?:/[a-f0-9]*)+$模式匹配在https://stackoverflow.com/questions/3512471/what-is-a-non-capturing-group-what-does-do、/和0+字母数字字符中定义的一系列模式的一个或多个重复,然后是字符串位置的末尾。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54027451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档