Regex JavaScript的等价物是什么;s";s、 替换(/[^\w]+;/g、';-';)”等;用飞镖的语言?

Regex JavaScript的等价物是什么;s";s、 替换(/[^\w]+;/g、';-';)”等;用飞镖的语言?,regex,dart,Regex,Dart,我正在尝试用JavaScript获得以下工作代码,这些代码也在Dart中工作 它给出了输出 We-live-on-the-planet-earth 我试过这个飞镖密码 void main() { print( "We live, on the # planet earth".replaceAll("[^\w]+","-")); } 但输出变得相同 这里缺少什么?如果希望replaceAll()将参数作为正则表达式处理,则需要传递一个RegExp实例。我通常使用r作为正则表达式

我正在尝试用JavaScript获得以下工作代码,这些代码也在Dart中工作

它给出了输出

We-live-on-the-planet-earth
我试过这个飞镖密码

void main() {
    print( "We live, on the # planet    earth".replaceAll("[^\w]+","-"));
}
但输出变得相同


这里缺少什么?

如果希望
replaceAll()
将参数作为正则表达式处理,则需要传递一个
RegExp
实例。我通常使用
r
作为正则表达式字符串的前缀,使其成为未进行插值(
$
\
,…)的原始字符串

main() {
  var s = "We live, on the # planet    earth";
  var result = s.replaceAll(new RegExp(r'[^\w]+'), '-');
  print(result);
}

很可能在
.replaceAll(新的RegExp(r'[^\w]+')、'-')中尝试它。或者
\W+
也应该起作用,而不是
[^\W]
“[^\W]”
只是一个字符串。replaceall需要一个正则表达式。
main() {
  var s = "We live, on the # planet    earth";
  var result = s.replaceAll(new RegExp(r'[^\w]+'), '-');
  print(result);
}