目标字符串"xxab未来a未怎么样"
想得到所有以a开头的字符串,即“ab未来a未怎么样”和“a未怎么样”
这个匹配表达是怎么写?
没找到特别简单的方法,你看看这样行不行?
import re
target = 'xxab未来a未怎么样'
pattern = re.compile(r"a(.+)")
target_cy = target
for num in range(target.count('a')):
result = re.findall(pattern, target_cy)
target_cy = result[0]
target_final = 'a' + target_cy
print(target_final)
ab未来a未怎么样
a未怎么样
import re
s, p = 'xxab未来a未怎么样', re.compile(r"a.*")
r = next(p.finditer(s), False)
while r:
print(r.group()) # 结果
r = next(p.finditer(s, r.start() + 1), False)
import re
p = re.compile('(a.*)')
# 递归版本
def foo_rec(s):
m = p.search(s)
if m is None:
return
sa = m.group(0)
print(sa)
return foo_rec(sa[1:])
# 循环版本
def foo_lp(s):
while 1:
m = p.search(s)
if m is None:
break
sa = m.group(0)
print(sa)
s = sa[1:]
>>> content = 'xxab未来a未怎么样'
>>> foo_rec(content)
ab未来a未怎么样
a未怎么样
>>> foo_lp(content)
ab未来a未怎么样
a未怎么样
3 回答3.1k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
4 回答1.9k 阅读
3 回答1.7k 阅读
1 回答1.4k 阅读✓ 已解决
使用正则 ^a.*