Javascript RegExp重复元素

Javascript RegExp重复元素,javascript,regex,Javascript,Regex,我有这样一根绳子 www-aaa-ddd-xxx 并希望在秒之后删除所有内容。对于本例,结果需要如下所示: www-aaa 我试过这个正则表达式: ((-|–).*)((-|–).*) 但它从第一个破折号开始就匹配所有内容,我不熟悉正则表达式:(使用捕获组 > var s = 'www -aaa - ddd - xxx ' undefined > s.replace(/(-[^-]*).*/, '$1') 'www -aaa ' > s.replace(/(-[^-]*)\b

我有这样一根绳子

www-aaa-ddd-xxx

并希望在秒之后删除所有内容。对于本例,结果需要如下所示:

www-aaa

我试过这个正则表达式:

((-|–).*)((-|–).*)
但它从第一个破折号开始就匹配所有内容,我不熟悉正则表达式:(

使用捕获组

> var s = 'www -aaa - ddd - xxx '
undefined
> s.replace(/(-[^-]*).*/, '$1')
'www -aaa '
> s.replace(/(-[^-]*)\b.*/, '$1')
'www -aaa'
使用捕获组

> var s = 'www -aaa - ddd - xxx '
undefined
> s.replace(/(-[^-]*).*/, '$1')
'www -aaa '
> s.replace(/(-[^-]*)\b.*/, '$1')
'www -aaa'

也可以在没有正则表达式的情况下获取

var str=“www-aaa-ddd-xxx”;
str=str.split(“-”).slice(0,2).join(“-”)

警报(str)
也可以在没有正则表达式的情况下获取

var str=“www-aaa-ddd-xxx”;
str=str.split(“-”).slice(0,2).join(“-”)

警报(str)
如果我不想在第二个
-
之后删除,而是在一组符号之后删除,例如
+
-等?
s.replace(/(.*?\+.*/,“$1”)
non我的意思是如果我的srings看起来像
w-a-d
w+a+d
w--a--d
并且我想在第二次之后删除
-
等等,如果我想删除的不仅仅是第二次
-
之后,而是在一组符号之后,比如
+/code>
替换(/(-.*?\+.*/,'$1')
不,我的意思是如果我的srings看起来像
w-a-d
w+a+d
w--a--d
,我想在第二次
-
-
之后删除