【发布时间】:2021-11-29 01:39:11
【问题描述】:
我想查找并打印所有以 M 开头并且仅包含一次 i 或 I 的状态。我试图先找到 M 包含状态并计算 i 序列..
import re
pattern = 'i'
state_names=['Alabama','Alaska','Arizona','Arkansas','California','Colorado','Connecticut',
'Delaware','Florida','Georgia','Hawaii','Idaho','Illinois','Indiana',
'Iowa','Kansas','Kentucky','Louisiana','Maine','Maryland','Massachusetts',
'Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada',
'New Hampshire','New Jersey','New Mexico','New York','North Carolina','North Dakota','Ohio',
'Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina','South Dakota','Tennessee',
'Texas','Utah','Vermont','Virginia','Washington','West Virginia','Wisconsin',
'Wyoming']
m_word=['']
for k in range (len(state_names)):
state=state_names[k]
mword=m_word[k]
mword.append(re.search('^M',state))
left = 0
count = 0
while True:
match = re.search(pattern, mword)
if not match:
break
count += 1
left += match.start() + 1
for i in range (len(m_word)):
if (count==1):
print(mword[i])
print(count)
【问题讨论】:
-
嗯,您有什么理由想尝试使用
re模块? -
还要澄清一下,您要匹配的是小写的 I 还是 L(不是大写的“i”)?