正则表达式:仅当匹配大于一个字符时,两个字符之间的匹配



我的文字:

Lorem_Ipsum_Resume (1).pdf (https://dl.web.com/Lorem_Ipsum_Resume%20(1).pdf)

我正在尝试提取:

https://dl.web.com/Lorem_Ipsum_Resume%20(1).pdf

我使用此表达式来匹配括号之间的文本:

/((.*))/

但它又回来了:

1).pdf (https://dl.web.com/Lorem_Ipsum_Resume%20(1).pdf

如果计划捕获括号内以http开头并以行上最后一个)结尾的链接,请使用

((http.*))

查看正则表达式演示

如果您打算匹配不包含数字块的(...),并且直到最后),您可以使用

((?!d+))(.*))

查看另一个正则表达式演示

(?!d+))负前瞻失败所有匹配项,其中(后跟 1 位或多位数字,然后)

以防万一字符串始终包含平衡括号并且您可以使用 PCRE,您可以考虑

(?!(d+))((((?:[^()]++|(?1))*)))

查看另一个正则表达式演示。该值位于组 2 中。正则表达式将匹配任何未(DIGITS)的平衡括号集。

最新更新