首页 > 解决方案 > 在两组字符之间获取一组目标字符

问题描述

我和我的朋友在网上找到了很多方法,但是它们要么与 JavaScript 的正则表达式不兼容,要么它们从不完全针对我们想要的目标,或者我们

不断被重定向到其他令人困惑的帖子,这些帖子最终对其他人建议的我们的代码没有帮助,但我是

意识到这里已经有类似的帖子,但它们都不适合我们。我想要做的基本上是我试图在两组字符之间获得一组字符。

在这种情况下url();例如

例子

我们目前正在本站测试表达式和字符串

https://www.regextester.com/

因此,请在不使用花哨的 JavaScript 添加代码的情况下为该字符串建议正确的表达式。我们将处理我们自己的 JavaScript 添加代码。我们只是对获取此字符串的工作表达式感兴趣

style='background-image: url(MATCH TARGET); background-size: cover; background-position: center; background-repeat: no-repeat;'

标签: regex

解决方案


您可以使用正则表达式/(?<=\().*(?=\))/

这会在左括号上进行正向lookbehind,在右括号上进行正向lookahead,匹配括号之间的任何字符。这可以在这里看到。

const string = "style='background-image: url(MATCH TARGET); background-size: cover; background-position: center; background-repeat: no-repeat;'";
const regex = /(?<=\().*(?=\))/;

console.log(string.match(regex)[0]);


推荐阅读