正则表达式获取每行第一个和最后一个双引号之间的所有内容

问题描述 投票:0回答:1

我想用正则表达式模式获取每行第一个和最后一个双引号之间的所有内容

文字:

Example Title --- "Values"
Example Title --- "Valu"es"

我想要这样:

array['Values','Valu"es']
python regex
1个回答
0
投票

您可以使用捕获组与点和 Kleene 星号相结合来获取您要查找的内容。正则表达式模式

"(.*)"
可以解决这个问题 - 引号定义边界,括号表示捕获组,
.*
告诉 Python 在引号之间捕获尽可能多的字符。

确保用单引号括起来,以避免与双引号发生冲突,最好在模式前面加上

r
将其定义为原始字符串(尽管这部分并不是绝对必要的)。

设置模式后,您可以使用

re.search(needle, haystack)
获取
Match
对象,然后使用
Match.group(1)
获取第一个(也是唯一一个)捕获组。

这是一个简单的实现:

import re

test_string = '"Valu"es"'
quotes_regex = r'"(.*)"'
output = re.search(quotes_regex, test_string).group(1)
print(output) # Valu"es
© www.soinside.com 2019 - 2024. All rights reserved.