为了账号安全,请及时绑定邮箱和手机立即绑定

RegEx:在引号之间获取值

/ 猿问

RegEx:在引号之间获取值

慕斯709654 2019-06-23 16:21:11

RegEx:在引号之间获取值

我有这样的价值:

"Foo Bar" "Another Value" something else

什么正则表达式将返回包含在引号中的值(例如:Foo BarAnother Value)?


查看完整描述

3 回答

?
米脂

我已经成功地使用了以下内容:

(["'])(?:(?=(\\?))\2.)*?\1

它也支持嵌套引号。

对于那些想要更深入地解释这是如何工作的人,下面是用户的解释瞬变剂:

([""'])匹配报价;((?=(\\?))\2.)如果反斜杠存在,吃掉它,不管是否发生,匹配一个字符;*?匹配多次(不贪婪,不吃闭幕式报价);\1匹配相同的引号,这是用来开场的。


查看完整回答
反对 回复 2019-06-23
?
慕桂英546537

通常,下面的正则表达式片段是您要寻找的内容:

"(.*?)"

这个用的是不贪婪的*?操作符捕获的所有东西,但不包括下一个双引号。然后,使用特定于语言的机制提取匹配的文本。

在Python中,您可以这样做:

>>> import re>>> string = '"Foo Bar" "Another Value"'>>> print re.findall(r'"(.*?)"', string)['Foo Bar', 'Another Value']


查看完整回答
反对 回复 2019-06-23
?
芜湖不芜

我会去:

"([^"]*)"

这个[^"]是除‘以外的任何字符的regex。"'
我之所以对非贪婪的许多操作符使用这个,是因为我必须不断地查找它,以确保它是正确的。


查看完整回答
反对 回复 2019-06-23

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信