【发布时间】:2012-06-07 13:13:21
【问题描述】:
我正在编写一组正则表达式来将 CSS 选择器转换为 id 和类数组。
例如,我希望 '#foo#bar' 返回 ['foo', 'bar']。
我一直在努力实现这一目标
"#foo#bar".match(/((?:#)[a-zA-Z0-9\-_]*)/g)
但是当非捕获前缀 ?: 应该忽略 # 字符时,它会返回 ['#foo', '#bar']。
有没有比对每个返回的字符串进行切片更好的解决方案?
【问题讨论】:
-
这是一个单行:
str.replace(/[^#]+|(#[a-zA-Z0-9\-_]*)/g, '$1').split('#').slice(1) -
分割在 ie8 中不起作用
-
@webaba 为什么 ie8 甚至会与 2014 年 9 月的任何事情相关,除非它是一个特定的请求?
标签: javascript regex capturing-group regex-group