捕获括号括起来的所有内容

时间:2017-03-29 14:54:29

标签: regex

我正在尝试构建一个正则表达式,成功捕获以下粗体文本:

  

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()兼容。

1 个答案:

答案 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);