我正在尝试构建一个正则表达式,成功捕获以下粗体文本:
background-image:url( https://domain/adress/with/other/stuff?alsoaquerystring=whynot );
预期输出为:
https://domain/adress/with/other/stuff?alsoaquerystring=whynot
这就是我到目前为止所尝试的内容,但我无法说出"捕捉这里的所有内容,无论它有什么特征"。
/background-image: url\((?P<image>)+\)/;
它需要与PHP preg_replace()
兼容。
答案 0 :(得分:0)
您可以使用:
background-image: url\((.*?)\);
通过使用( )
,您将在正则表达式中创建一个捕获组。
以https://regex101.com/r/VNsTPU/1/为例。这是一个非常基本的例子,您可以改进以消除括号之间的空白区域或完成后修剪。
如果您不熟悉,请参阅this answer有关在PHP中使用捕获组的信息。
更新:如果您尝试使用preg_replace
,请按以下步骤操作:
$regex = = 'background-image: url\((.*?)\);';
$var = 'background-image: url( https://domain/adress/with/other/stuff?alsoaquerystring=whynot )';
preg_replace($regex,'$1',$var);