我有以下刺痛:
a='text1fig [1]text2fig [15]text3fig [234]text4fig [2234]text5'
我想把它分成:
texts=['text1','text2','text3','text4','text5']
我试过了:
import re
texts=re.split('fig \\[[0-3000]\\]',texts) .
但它不起作用。
谢谢
答案 0 :(得分:3)
数字范围不是那样的。只需使用\d
代替。此外,您需要一个反斜杠,因为双反斜杠被视为字面反斜杠(您希望它转而逃避[
/ ]
元字符。)
text = re.split(r'fig\s*\[\d+\]', a)
print(text)
['text1', 'text2', 'text3', 'text4', 'text5']
正则表达式详细信息
fig
\s* # 0 or more whitespace chars
\[ # literal opening brace
\d+ # 1 or more digits
\] # literal closing brace
答案 1 :(得分:0)
您想使用“re.findall”而不是“re.split”
texts = re.findall('text\d', a)
['text1', 'text2', 'text3', 'text4', 'text5']