関連する質問:特定の文字 (?) に続いていないときに、正規表現を使用して文字 (') に一致させるにはどうすればよいですか?
正規表現 (PHP PCRE ライブラリ) を使用してログを解析し、そこから URL を抽出しようとしています。URL は二重引用符 " でカプセル化されていますが、一部の要求には二重引用符 " も含まれています。例えば:
"https://www.amh.net.au/online/dbSearch.php?t=all&q=\"Rosuvastatin\""
私の最初のパターンは基本的に次のとおりです。
#\"([^\"]*)\"#
上記のエントリの1つに到達するまで、これはうまく機能し、一致が切り捨てられたので、得られたのは次のとおりです。
https://www.amh.net.au/online/dbSearch.php?t=all&q=\
掘り下げて、 http: //addedbytes.com で正規表現のチートシートを再発見し、http://www.regular-expressions.info/lookaround.htmlでさらに役立つ情報を再発見した後 、次のルックビハインドを試しました。
#"([(?<!\\)"]*)"#
しかし、今私が得るのは "" と空の文字列だけです