这不是关于如何实现示例中解释的内容,有很多简单的方法可以做到这一点。问题是为什么这个例子的行为不符合预期?
1。如果我有以下字符串
"#foo#bar"
2。我试图在JavaScript中使用以下正则表达式[foo, bar]
"#foo#bar".match(/(?:#)([a-zA-Z]*)/gi)
第3。它返回
Array [ "#foo", "#bar" ]
忽略非捕获组(?:#)
这是我在这里https://regex101.com/r/zI0wH9/1
的第一次预期那为什么呢? JS正则表达式的表现方式有所不同吗?
答案 0 :(得分:-1)
只需尝试
"#foo#bar".match(/[a-zA-Z]+/gi); //outputs ["foo", "bar"]