javascript - RegEx JS 从另一个字符串中提取字符串匹配条件

标签 javascript regex

我有这种类型的字符串:

url('img.png') rgba(123, 111, 23, 0.96) none repeat scroll 0% 0% / auto padding-box padding-box

url('img.png') rgb(123, 111, 23) none repeat scroll 0% 0% / auto padding-box padding-box

注意rgb/rgba的区别

我只需要提取 rgba(123, 111, 23, 0.96)rgb(123, 111, 23)

本质上,如何选择以 rgb 开头并以 parenthesis ) 结尾的字符串?

最佳答案

您可以使用 /rgba?\(.*?\)/String.match 方法; rgba?匹配rgbrgba\(.*?\)匹配后面的第一对括号,假设您没有嵌套括号:

var samples = ["url('img.png') rgba(123, 111, 23, 0.96) none repeat scroll 0% 0% / auto padding-box padding-box",
"url('img.png') rgb(123, 111, 23) none repeat scroll 0% 0% / auto padding-box padding-box"]

console.log(
  samples.map(s => s.match(/rgba?\(.*?\)/))
)

// if have more than one matches in the strings

console.log(
  samples.map(s => s.match(/rgba?\(.*?\)/g))
)

关于javascript - RegEx JS 从另一个字符串中提取字符串匹配条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46650411/

相关文章:

javascript - 如何将两个或第 n 个不同的列表项按顺序添加到新列表中?

javascript - 检查数组是否为单调序列

ios - 在两个方括号([])之间获取字符串是Swift 4

mysql - (mySql)查询匹配/精确字符串/[通配符]/精确字符串/[通配符]等?

javascript - 如何使用特定版本的 create-react-app 创建一个 React 项目?

javascript - 谁能解释为什么 jQuery 附加的内联 block 元素会丢失空间?

php - 如何从字符串中修剪特殊字符?

javascript - 替换所有图像的图像源

regex - 使用正则表达式限制响应中的单词数

javascript - 在 AngularJS 中测试 Promise 而不是回调