在字符串中查找AB和BA而不重叠

时间:2018-05-09 17:32:28

标签: python string python-3.x find

在字符串中查找AB和BA而不重叠。 AB和BA的顺序并不重要。 我在编写此应用程序时遇到以下问题:

s = input()
chars = set('AB' and 'BA')
if all((c in chars) for c in s):
    print('YES')

例如,如果输入是ABBA,则答案为YES。如果有BAAB输入,那么我有YES。但如果输入为ABA,答案为否,或者输入为ABHA,则答案为否。

else:
    print('NO')

1 个答案:

答案 0 :(得分:1)

听起来像是正则表达式的问题:

import re
s = input()
if re.search("(AB.*BA|BA.*AB)", s):
    print("Yes")

Demo