当前位置: 首页 > 知识库问答 >
问题:

RegEx:在引号之间抓取值

利海阳
2023-03-14

我有这样一个价值观:

"Foo Bar" "Another Value" something else

什么正则表达式将返回包含在引号中的值(例如Foo Bar另一个值)?

共有3个答案

龚国源
2023-03-14

我会选择:

"([^"]*)"

[^"]是任何字符的正则表达式,除了'"'
我在非贪婪的许多运算符上使用它的原因是,我必须继续查找它,以确保它是正确的。

闾丘才哲
2023-03-14

通常,以下正则表达式片段是您要查找的:

"(.*?)"

这使用了非贪婪*?操作员将捕获到但不包括下一个双引号的所有内容。然后,使用特定于语言的机制提取匹配的文本。

在Python中,你可以做到:

>>> import re
>>> string = '"Foo Bar" "Another Value"'
>>> print re.findall(r'"(.*?)"', string)
['Foo Bar', 'Another Value']
岑和风
2023-03-14

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

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

它也支持嵌套引号。

对于那些想要更深入地解释其工作原理的人,以下是来自用户ephemient的解释:

([“”])匹配报价<代码>(?=(\\?))\2.如果存在反斜杠,则将其勾选,无论是否出现反斜杠,都要匹配一个字符<代码>* 匹配多次(不贪吃,以免吃掉结束报价)<代码>\1匹配用于开始的相同报价。

 类似资料:
  • 这与:正则表达式:在引号之间抓取值有关。 如果有这样的字符串: 链接上给出的正则表达式 他给了我 什么正则表达式将返回包含在引号中的值(特别是在标记之间)? 使用Java,way。

  • 假设我有一个字符串,比如。我希望我的正则表达式从该字符串中提取值和,不带逗号和引号。我环顾了一下网站,找到了一个解决方案,去掉了逗号,但没有引号。 这是我尝试的正则表达式

  • 我想使用编写Regex表达式,以找到第一个没有包裹在单引号或双引号周围的字符。 我有下面的字符串我想找到的唯一的是null后面的那个。 我不确定如何用正则表达式来表示“notbetween”。这是我试过的 但这符合我的期望。 我如何才能正确地找到没有括在引号周围的右括号? 使用C#应返回第一个匹配项。 这里更新了一些我希望能够评估的文本 (“some()test 1”,“some text)”,1

  • 我正在寻找正确的regex来为我提供以下结果: null 例子: 福吧 组1:foo 组2:bar 说明:在空格上拆分 组1:foo bar 描述:用双引号包围,所以将foo和bar分组,但不要打印双引号 null null null null null 组1:foo bar 组2:堆栈溢出 组1:foo'bar 组2:堆栈溢出 组3:如何 组4:do 组5:您 组6:do

  • 我希望创建一个正则表达式来提取第一个斜杠之前的所有内容,除非它是单引号或双引号。目前,我有: 现在,我迷路了。根据下面的不同文本,我只想要下面粗体部分: 文本 abc,def,ghi,jkl,mno/123 /abc,def,ghi,jkl,mno 123 abc,/def,“/ghi”,jkl,mno/123 abc,def,“/ghi”,jkl,mno/123 abc,def,“/ghi”,j

  • 我想做的是提取单引号或双引号之间的所有值。 假设我有以下值。 所需的输出为: 我应该如何编写正则表达式(使用一个正则表达式一次提取所有所需的值),以获得包含在第一个和最后一个引号中的整个文本? p、 我想使用方法