Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式获取第一个和最后一个倒逗号之间的文本_Regex - Fatal编程技术网

Regex 正则表达式获取第一个和最后一个倒逗号之间的文本

Regex 正则表达式获取第一个和最后一个倒逗号之间的文本,regex,Regex,文本为-”http://en.wikipedia.org/wiki/“杰克·福尔摩斯的地上之声”:嘿。我需要正则表达式来获取http://en.wikipedia.org/wiki/杰克·霍姆斯的“地上之声”。我试图写\“(.*?”,但失败了,因为倒逗号是嵌套的。我需要得到最后出现的“最后一个结束部分” 我想我需要消极的前瞻性解决方案,但不确定 "(.*)" 这会抓住两个双引号之间的所有内容,并以贪婪的方式抓住。这意味着它会尝试在两个引号之间匹配尽可能多的文本 这将抓住两个双引号之间的所有内容

文本为
-”http://en.wikipedia.org/wiki/“杰克·福尔摩斯的地上之声”:嘿
。我需要正则表达式来获取
http://en.wikipedia.org/wiki/杰克·霍姆斯的“地上之声”
。我试图写
\“(.*?”
,但失败了,因为倒逗号是嵌套的。我需要得到最后出现的“最后一个结束部分”

我想我需要消极的前瞻性解决方案,但不确定

"(.*)"
这会抓住两个双引号之间的所有内容,并以贪婪的方式抓住。这意味着它会尝试在两个引号之间匹配尽可能多的文本


这将抓住两个双引号之间的所有内容,并以贪婪的方式抓住。这意味着它将尝试在两个引号之间匹配尽可能多的文本。

实际上,OP需要基于他的请求:

(?<=").*(?=") 
# match only the contents without the external double quotes "..." ->
# http://en.wikipedia.org/wiki/"The_Above_Ground_Sound"_of_Jake_Holmes
(?
# http://en.wikipedia.org/wiki/杰克·霍姆斯的“地上之声”

根据OP的请求,OP实际需要的是:

(?<=").*(?=") 
# match only the contents without the external double quotes "..." ->
# http://en.wikipedia.org/wiki/"The_Above_Ground_Sound"_of_Jake_Holmes
(?
# http://en.wikipedia.org/wiki/杰克·霍姆斯的“地上之声”

我尝试了一些东西并创建了-“(.*)(\”)(.*”)(.*”)。这很有效。让我知道我们是否可以有更干净的东西。删除
以使匹配变得贪婪。什么是语言或工具?@Tensibai,我的是一个很好的例子,在我们需要针的时候用剑缝合。谢谢它会起作用。我尝试了一些东西并创建了-“(.*?)(\”)(?!.*\")。这很有效。请告诉我我们是否可以有更干净的。删除
以使匹配变得贪婪。什么是语言或工具?@Tensibai,我的是一个很好的例子,在我们需要针的时候用剑缝合。谢谢,它会起作用。为什么要逃避引号?它们在正则表达式中不是特殊字符,可能取决于使用的语言,但是只要我们不知道,就没有理由引入反斜杠。完全正确,我只是假设它们需要在包含转义的示例中使用的解释器中转义。我将编辑我的答案以反映这一点。为什么要转义引号?它们不是正则表达式中的特殊字符,可能取决于使用的语言,但只要我们不这样做我不知道,没有理由引入反斜杠。完全正确,我只是假设它们需要在解释器中转义,用作包含转义的示例。将编辑我的答案以反映这一点。