Regex:字符类中的有序字符串?

问题描述 投票:0回答:1

毫无疑问,这听起来像是一个菜鸟问题,但我一直在错误地假设正则表达式[(string)xyz]将按顺序保留分组的字母并匹配“字符串”,“ x”,“ y”的情况下工作了一段时间。或“ z”。现在我知道情况并非如此,我正在寻找一种类似的优雅方法来完成此任务。

我不愿提供我正在研究的项目的细节,因为这与寻找解决方法无关,而更多的是关于重新获得我认为的工具。足以说出涉及可变数量的OR管道(|)的任何事情对于我当前的需求来说太复杂了。语言是Python。

编辑:好的,细节如下。

for x in toreplace.keys(): S = re.sub('(['+x+(x.upper()*x.islower())+'])',str(toreplace[x]),S)

字典“ toreplace”作为参数传递,我希望它可以容纳任何长度的键和值。当前,它接受输入(大写或小写字母或多个字母),并将其放在相同输入的大写版本旁边的方括号内;如果输入已经是大写,则将其放置在方括号内。如果密钥是单个字母,则效果很好。我以为如果密钥是'(ee)'的话也可以,但是没有用。

regex string class
1个回答
0
投票

如果您两次使用re.sub,这会容易得多:

© www.soinside.com 2019 - 2024. All rights reserved.