跨浏览器不透明度的Javascript正则表达式
javascript regular expression for cross browser opacity
我正在阅读一本JS书,我在一个例子中遇到了下面的正则表达式。
(parseFloat(filter.match(/opacity=([^)]+/)[1]) / 100)
其中filter="alpha(opacity=50)"
。我理解代码正在做什么,并且要解析的返回匹配是数组中的第二个索引,这是捕获([^)
,但我不明白捕获如何有意义。([^)]+
如何匹配不透明度值?据我所知,如果使用插入符号作为第一个字符,那么它将匹配以后面的任何开头的字符串,或者如果它在字符类中使用,它将匹配除以外的任何内容,例如[^abc]
。
然而,在这种情况下,看起来插入符号没有做这两件事,因为右方括号在圆括号外面。我只能说,我很困惑。
[^)]+
正在获取非右括号)
的任何字符序列。
正如@jonny指出的,缺少一个右括号。并且应该是/opacity=([^)]+)/
。
模式是/
opacity=([^)]+)
/
,其中opacity=
都是文字字符,[^)]+
应该匹配您需要的值。注意方括号,而不是圆括号。
这样,我相信filter.match(
/opacity([^)]+)/
)
将返回opacity=50
位置[0]
和50
位置[1]
。
filter.match(/opacity=([^)]+/)
)[1]
返回数组位置[1]
的部分。
然后parseFloat
启动并将字符串50
转换为最后被100
整除的数字
相关文章:
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 将javascript正则化为vb
- 将po-box javascript正则表达式转换为c#regex
- 被javascript正则表达式分组卡住了
- 从字符串中提取年份的Javascript正则表达式
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- JavaScript正则表达式匹配量
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- javascript正则表达式来识别所有特殊字符
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- 查找所有注释的JavaScript正则表达式
- javascript正则表达式验证未按预期工作
- javascript正则表达式,用于匹配带数字和不带数字的字符串
- 模仿负查找以匹配JavaScript正则表达式中没有紧跟特定字符的模式
- JavaScript正则表达式(带_-的字母数字字符)
- 用特定的javascript正则表达式替换每个单词
- 搜索日历事件的Javascript正则表达式
- 如何获取 JavaScript 正则表达式子匹配的位置
- 正则表达式子字符串以JavaScript开始和结束