gpt4 book ai didi

javascript - 如何使用正则表达式 javascript 以通用形式提取值

转载 作者:行者123 更新时间:2023-11-28 16:50:43 25 4
gpt4 key购买 nike

我有这些值(value)观:

skew(1deg)
rotate(3)
skewY(10deg)
matrix(0, 0, 0, 0, 0, 0)

矩阵也可以是:

matrix(1, 2, 3, 4, 5, 6)

我想做的就是使用正则表达式从上面提取精确的值。

我尝试过:

/skew\([0-9]+[a-zA-Z]*\)/g
/rotate\([0-9]+[a-zA-Z]*\)/g
/skewY\([0-9]+[a-zA-Z]*\)/g
/matrix\([0-9]+[a-zA-Z]*\)/g

因此,使用 skew、rotate、skewY 和 matrix 等 css 属性,我需要传入这些属性,但通常希望从 css 属性获取值,直到结束字符“)”,这如何实现。

最佳答案

您可以使用交替来匹配其中一个选项。如果您想要括号之间的值,可以使用捕获组。

\b(?:skewY?|rotate|matrix)\(([^()]+)\)
  • \b 字边界
  • (?: 非捕获组
    • skewY?|rotate|matrix 匹配 skew、skewY、旋转或矩阵
  • ) 关闭群组
  • \( 匹配(
    - ([^()]+) 捕获组 1,匹配除 ( 之外的任何字符 1+ 次>)
  • \) 匹配 )

Regex demo

如果您的目的是仅使用您尝试过的模式中允许的字符,您可以使用:

\b(?:skewY?|rotate|matrix)\([0-9]+[a-zA-Z]*(?:, ?[0-9]+[a-zA-Z]*)*\)

Regex demo

const regex = /\b(?:skewY?|rotate|matrix)\(([^()]+)\)/;
["skew(1deg)",
"rotate(3)",
"skewY(10deg)",
"matrix(0, 0, 0, 0, 0, 0)"
]
.forEach(s => console.log(s.match(regex)[1]))

关于javascript - 如何使用正则表达式 javascript 以通用形式提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59991570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com