请帮助以下
我只需要匹配字符计数相同的单词
例如,与b c相同的计数
abc ///匹配1(abc)
aabbcc match 2(abc)
adabb not mach 2(ab)
ttt匹配0(abc)
答案 0 :(得分:1)
为什么要使用正则表达式?正则表达式对于某些作业来说是正确的工具,但它们过度使用,而普通的旧字符串处理可以做到这一点,可能具有更高的清晰度或效率。这是一个用Python实现的示例:
def matchCount(inputString, lettersToMatch, count) :
matches = []
wordsArray = inputString.split()
for word in wordsArray:
letterCounts = {}
for letter in word:
if letter in letterCounts:
letterCounts[letter] += 1
else:
letterCounts[letter] = 1
allCorrect = True
for letter in lettersToMatch:
if letter !in letterCounts:
allCorrect = False
if letterCounts[letter] != count:
allCorrect = False
if !allCorrect:
break
if allCorrect:
matches.append(word)
return matches
答案 1 :(得分:0)
您应该使用递归正则表达式。
以下是匹配相同数字或0
s和1
s
$regex = qr/0(??{$regex})*1/;
注意:有关更多背景信息,请参阅Peteris Krumins博客上的Recursive Regular Expressions。