Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查找两个字符之间的内容正则表达式?_Python_Regex_Python 3.x - Fatal编程技术网

Python 查找两个字符之间的内容正则表达式?

Python 查找两个字符之间的内容正则表达式?,python,regex,python-3.x,Python,Regex,Python 3.x,我有一个.txt文件,其中包含每行特定项目的所有信息,格式如下: 1 +'item 1'+ [0, 0] 2 +'item 2'+ [0, 0] 第一个数字是项目id,+符号之间的字符串是项目名称,最后的列表是项目的统计信息。我需要使用正则表达式来获取+符号之间的名称,但是我找到的所有答案都不是我想要的,而且我对正则表达式的理解也不是很好。我应该使用什么模式来查找名称 类似的问题/答案,并没有真正回答我的问题:,尝试使用常规字符串方法隔离项目名称,请参见下文 saved_name=[] 打开(

我有一个
.txt
文件,其中包含每行特定项目的所有信息,格式如下:

1 +'item 1'+ [0, 0]
2 +'item 2'+ [0, 0]
第一个数字是项目id,
+
符号之间的字符串是项目名称,最后的列表是项目的统计信息。我需要使用正则表达式来获取
+
符号之间的名称,但是我找到的所有答案都不是我想要的,而且我对正则表达式的理解也不是很好。我应该使用什么模式来查找名称


类似的问题/答案,并没有真正回答我的问题:,

尝试使用常规字符串方法隔离项目名称,请参见下文

saved_name=[]
打开('file.txt','r')作为fr:
对于fr.readlines()中的行:
name=line.split('+')[1]
已保存的\u名称。追加(名称)
或使用正则表达式:

#编译模式,捕获所有项。
pattern=re.compile(r'(.+)\s\+(.+)\+\s(+)'))
已保存=[]
打开('file.txt','r')作为fr:
对于fr.readlines()中的行:
名称=匹配(图案,线条.strip('\n'))
id、name、data=matches.groups()
已保存。追加((id、名称、数据))

尝试使用常规字符串方法隔离项目名称,请参见下文

saved_name=[]
打开('file.txt','r')作为fr:
对于fr.readlines()中的行:
name=line.split('+')[1]
已保存的\u名称。追加(名称)
或使用正则表达式:

#编译模式,捕获所有项。
pattern=re.compile(r'(.+)\s\+(.+)\+\s(+)'))
已保存=[]
打开('file.txt','r')作为fr:
对于fr.readlines()中的行:
名称=匹配(图案,线条.strip('\n'))
id、name、data=matches.groups()
已保存。追加((id、名称、数据))

最好使用split方法,但如果确实需要使用regex,可以这样做:

import re

file = 'filepath/to/your/text/file.txt'

with open(file, encoding='utf-8') as f:
    pattern = r'\'(.+)\''
    solution = re.findall(pattern, f.read())

print(solution)

最好使用split方法,但如果确实需要使用regex,可以这样做:

import re

file = 'filepath/to/your/text/file.txt'

with open(file, encoding='utf-8') as f:
    pattern = r'\'(.+)\''
    solution = re.findall(pattern, f.read())

print(solution)

如果您能向我们展示您迄今为止所做的尝试,那么改进您的尝试通常比我们从头开始更容易。另外,当我试图写下我已经尝试过的东西时,我常常会找到自己的答案。关于
“1+'item1'+[0,0]”呢。拆分('+')[1]
而不是正则表达式?怎么样(?如果您能向我们展示您迄今为止所做的尝试,那么改进您的尝试通常比我们从头开始更容易。此外,当我尝试写下我已经尝试过的内容时,我通常会找到自己的答案。
“1+'item 1'+[0,0]”。用split('+')[1]
代替regex怎么样?