使用正则表达式返回 Python 中两个单个 qute 之间的所有 chaRecter



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

{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"1", 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'

最新更新