return python 中两个单引号 ' ' 之间的所有字符使用正则表达式

return all tthe charecters between two single qutes ' ' in python using regex

我有这样的数据 我是逐行从文件中读取的

{0 1,1 1,4 1,6 'text text'}
{0 1,1 1,4 1,5 1,6 'text text text text'}
{0 1,5 1,6 'text texttext text'}
{1 1,6 'text text texttexttext text'}

我想获取“ ”之间的所有文本,所以我这样获取

'text text'
'text text text text'
'text texttext text'
'text text texttexttext text'

我尝试使用 re.sub 删除 '

之前的第一个字符
line=re.sub(r'.*\'', '', line)

但它删除了所有字符 谢谢

试试这个:

import re
lines = ["{0 1,1 1,4 1,6 'text text'}", 
         "{0 1,1 1,4 1,5 1,6 'text text text text'}",
         "{0 1,5 1,6 'text texttext text'}",
         "{1 1,6 'text text texttexttext text'}"]
for line in lines:
    print(re.sub(r"[^']*('[^']*').*", r"", line))

和输出:

'text text'
'text text text text'
'text texttext text'
'text text texttexttext text'

您可以使用 findallsearch

value = "{0 1,1 1,4 1,6 'text text'}"    
content = re.search("('.*')", value).group(0)
content # 'text text'