gpt4 book ai didi

python - 如何使用正则表达式判断字符串的第一个和最后一个字符是否匹配?

转载 作者:行者123 更新时间:2023-11-28 19:52:25 28 4
gpt4 key购买 nike

我对使用 Python 和 Regex 比较陌生,我想检查字符串的第一个字符和最后一个字符是否相同。

如果第一个和最后一个字符相同,则返回“True”(例如:“aba”)如果第一个和最后一个字符不相同,则返回 'False'(例如:'ab')

下面是我写的代码:

import re
string = 'aba'
pattern = re.compile(r'^/w./1w$')

matches = pattern.finditer(string)
for match in matches
print (match)

但是从上面的代码来看,我没有看到任何输出

最佳答案

当且仅当您真的想使用正则表达式(出于学习目的)时:

import re
string = 'aba'
string2 = 'no match'
pattern = re.compile(r'^(.).*\1$')

if re.match(pattern, string):
print('ok')
else:
print('nok')
if re.match(pattern, string2):
print('ok')
else:
print('nok')

输出:

ok
nok

解释:

^(.).*\1$
  • ^ 行 anchor 开始
  • (.) 匹配行的第一个字符并将其存储在一个组中
  • .* 随时匹配任何字符
  • \1 对第一组的反向引用,在本例中是第一个字符,强制第一个字符和最后一个字符相等
  • $ 行尾 anchor

演示:https://regex101.com/r/DaOPEl/1/

否则最好的方法是简单地使用比较 string[0] == string[-1]

string = 'aba'
if string[0] == string[-1]:
print 'same'

输出:

same

关于python - 如何使用正则表达式判断字符串的第一个和最后一个字符是否匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55097501/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com