Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Php 如何匹配字符串,直到第一个字符的实例不在另一个特定字符之后_Php_Regex_Pcre_Regex Lookarounds - Fatal编程技术网

Php 如何匹配字符串,直到第一个字符的实例不在另一个特定字符之后

Php 如何匹配字符串,直到第一个字符的实例不在另一个特定字符之后,php,regex,pcre,regex-lookarounds,Php,Regex,Pcre,Regex Lookarounds,相关问题: 我正在使用regex(phppcre库)解析一个日志,并试图从中提取一个URL。URL封装在双引号中”,但有些请求也包含双引号”。例如: "https://www.amh.net.au/online/dbSearch.php?t=all&q=\"Rosuvastatin\"" 我的第一个模式基本上是: #\"([^\"]*)\"# 这很有效,直到我达到上面的一个条目,它截断了匹配,所以我得到的是: https://www.amh.net.au/online/dbSearc

相关问题:

我正在使用regex(phppcre库)解析一个日志,并试图从中提取一个URL。URL封装在双引号中”,但有些请求也包含双引号”。例如:

"https://www.amh.net.au/online/dbSearch.php?t=all&q=\"Rosuvastatin\""
我的第一个模式基本上是:

#\"([^\"]*)\"#
这很有效,直到我达到上面的一个条目,它截断了匹配,所以我得到的是:

https://www.amh.net.au/online/dbSearch.php?t=all&q=\
在四处挖掘并重新发现了上的regex的备忘单以及上的一些更有用的信息之后,我现在尝试了以下方法:

#"([(?<!\\)"]*)"#
#“([?

但是,现在我得到的是“”,然后是一个空字符串,您将lookback放在您的组([])中,因此它不是这样解释的,而是您说您只需要这些单独的字符。
基本上,我想你会喜欢这样的东西:

#"(?:[^"]|(?<=\\)")"#

#“(?:[^”]|(?您将您的lookback放在您的组([])中,因此它不会被解释为这样,而只是您说您只需要这些单独的字符。
基本上,我想你会喜欢这样的东西:

#"(?:[^"]|(?<=\\)")"#

#“(?:[^”]|)(?日志中的URL将是URL编码的。因此,以下模式应该可以工作:

#\"([^ ]*)\"#

日志中的URL将是URL编码的。因此,以下模式应该可以工作:

#\"([^ ]*)\"#