我正在尝试创建一个正则表达式,它将允许测试字符串与以下条件匹配:
1.测试字符串可以是任何长度,并包含任何字母。
1.正则表达式中的所有字符都必须匹配。
1.正则表达式中的所有字母必须匹配它们在正则表达式中重复的次数。
1.如果一个字母在正则表达式中重复了不止一次,那么它在测试字符串中可以是连续的,也可以被其他字母分隔。
1.测试字符串中的字母不必与正则表达式的顺序相同。
因此,如果:
TEST STRING = polymmorphiiic
以下正则表达式将匹配
ppy
ooyc
ciii
而以下将失败:
pmy
iy
yrz
感谢您的帮助,因为我可以得到所有上述满意。
我试过分解所有的需求,并为每个需求创建正则表达式字符串,但我无法克服字符串将涵盖所有需求。
1条答案
按热度按时间klr1opcd1#
可以使用re.findall()从字符串中获取匹配字符。排序结果和排序模式之间的比较将处理顺序和字符计数的差异。
注意,你不需要正则表达式来实现这个过程,一个集合就足以过滤匹配的字符:
即使是顺序搜索也会起作用: