import re
b=re.findall('[A-Z]+[a-z]+[A-Z]',k)
for i in b:
print (i)
我已经写了这段代码。 k中的字符串太长,无法在此打印。 我需要找到所有的子字符串集,其中后面的中间部分是小写字母,而每个字母上的三个字母都是大写字母。 我认为这段代码应该可以工作。但是,它在每个子串中打印随机数的字母。 我的代码有什么问题,或者我该如何解决它? 请帮忙!Python挑战 - #3:它打印随机字母而不是7
import re
b=re.findall('[A-Z]+[a-z]+[A-Z]',k)
for i in b:
print (i)
我已经写了这段代码。 k中的字符串太长,无法在此打印。 我需要找到所有的子字符串集,其中后面的中间部分是小写字母,而每个字母上的三个字母都是大写字母。 我认为这段代码应该可以工作。但是,它在每个子串中打印随机数的字母。 我的代码有什么问题,或者我该如何解决它? 请帮忙!Python挑战 - #3:它打印随机字母而不是7
您的正则表达式不应包含+
,其中匹配1个或多个大写字母。如果你需要得到类似AAAbCCC
只是尝试:
b=re.findall('[A-Z]{3}[a-z][A-Z]{3}',k)
非常感谢。它不是完整的代码。但它让我在正确的道路上 –
您可以{n}
指定原子/范围/组的重复,其中n为整数。
我想你的正则表达式更改为[A-Z]{3}[a-z]+[A-Z]{3}
,或者更好,如果中间子必须只有一个字母,去掉+
,因为那样会匹配1个以上小写字符:[A-Z]{3}[a-z][A-Z]{3}
。
非常感谢。它有帮助。 –
好吧,现在你只是检查每一边的一个字母是大写字母,而不是3。 –
实际上,左侧的字母数> 1,右侧的字母数为1。 – James