Python 如何在任意位置精确匹配字符串中的两个字符
如何精确匹配字符串中的两个相同字符,如“4003”、“1030”Python 如何在任意位置精确匹配字符串中的两个字符,python,regex,Python,Regex,如何精确匹配字符串中的两个相同字符,如“4003”、“1030” import re s='1030' if re.search('0{2}',s): print(True) 但是上面的代码只匹配“1002”而不匹配“1030”您必须使用regex?只需使用.count() 假设您不必使用正则表达式: 请注意,一个包含4个字符的字符串正好有一对复制字符,当且仅当它有3个唯一字符时。因此: 制作一组它的字符 检查集合中是否有3个不同的元素 此代码仅检查字符串number1中的f.e.索引3是否
import re
s='1030'
if re.search('0{2}',s):
print(True)
但是上面的代码只匹配“1002”而不匹配“1030”您必须使用
regex
?只需使用.count()
假设您不必使用正则表达式: 请注意,一个包含4个字符的字符串正好有一对复制字符,当且仅当它有3个唯一字符时。因此:
- 制作一组它的字符
- 检查集合中是否有3个不同的元素
number1
中的f.e.索引3是否等于字符串number2
中的索引3
number1 = '1002'
number2 = '1030'
counter = 0
for i in number1:
if number1[counter] is number2[counter]:
print("It's a match")
counter = counter + 1
你必须使用正则表达式吗?你基本上是在做与之相反的事情。如果你能提供额外的上下文,比如:1)字符串的长度总是4吗?2) 它必须是任何2个字符还是可以专门硬编码的字符(例如,专门用于0等)像
aabb
这样的单词是否符合“完全相同的2个字符”的标准?取决于你如何看待它,这可以解释为“4个相同的字符”。OP并没有说重复字符保证为0。嗯,我也这么认为,但他们的示例有“0{2}”硬编码,所以我认为这是他们的具体用例。让我们等待用户的澄清。我的要求是,能够在一个4位数字中准确地找到两个零。你能给我正则表达式吗?你不能用集合来确定一个字符是否正好出现两次。例如,ab
和abb
都会变成{'a',b'}
@aranfey,这就是解释的重点。“请注意,一个包含4个字符的字符串正好有一对复制字符,当且仅当它有3个唯一字符。”。我没有直接检查“一个字符正好出现两次”,而是检查“有3个不同的字符”。这仍然是错误的,因为aabb
符合标准,没有3个不同的字符。@Aran Fey OP说“完全相同的两个字符”。。。嗯,我想结束这个问题比较好。这可以用多种不同的方式来解释。
number1 = '1002'
number2 = '1030'
counter = 0
for i in number1:
if number1[counter] is number2[counter]:
print("It's a match")
counter = counter + 1