我在标签中有一个字符串,我想要提取而不会找到标签。我试过了:
string = re.search("\[tag\](.*?)\[tag\]", "[tag]string[tag]")
print(string.group(0))
和
string = re.search("/\[tag\](.*?)\[tag\]/i", "extra[tag]string[tag]extra")
print(string.group(0))
都返回
[tag]string[tag]
答案 0 :(得分:6)
.group(0)
是整场比赛。使用.group(1)
获取所需括号中的部分。
import re
string = re.search("\[tag\](.*?)\[tag\]", "[tag]string[tag]")
print string.group(1) # prints 'string'
答案 1 :(得分:2)
group(0)
是整场比赛。你想要group(1)
。
答案 2 :(得分:1)
您还可以使用正向前瞻/后视:
import re
text = """
[tag]string[tag]
[tag]string1[tag]
[tag]string2[tag]
[tag]string3[tag]
[tag]string4[tag]
"""
print re.findall(r'(?i)(?<=\[tag\])\w*(?=\[tag\])', text)