我必须找出所有只由字母'a'和'b'组成的字符串,每个'a'的实例后面紧跟着'b',前面紧跟着'b'。你知道吗
例如:
mystring = 'bab babab babbab ab baba aba xyz'
那么我的正则表达式应该返回:
['bab' 'babab' 'babbab']
(在字符串'ab'-'a'前面没有'b'。类似地,对于'aba'和'xyz',不只是由'a'、'b'组成。)
我使用了lookahead并编写了以下正则表达式:
re.findall(r'((?<=b)a(?=b))',mystring)
但这只会返回“a”的所有实例,后面跟/前面跟“b”,例如:
['a','a','a','a']
但我需要完整的文字。如何使用regex查找整个单词?我尝试用不同的选项修改我的正则表达式,但似乎没有任何效果。如何做到这一点?你知道吗
试试看
if
bbbabb
也是允许的。 你不需要向前看或向后看。你知道吗编辑: 是的,为了同时匹配
babab
(两个a
的共享b
)等,应该可以使用以下正则表达式:
Debuggex Demo
正如您在前面的图表中看到的,这个正则表达式将匹配
ba
(它b
可以多次出现)的任何组合,这些组合产生的单词每个a
前面都有b
,那么整个字符串后面可以有一个或多个b
。你知道吗相关问题 更多 >
编程相关推荐