我有这样的字符串
www -aaa - ddd - xxx
并希望删除 SECOND -
之后的所有内容。对于此示例,结果需要如下所示:
www -aaa
我试过这个正则表达式:
((-|–).*)((-|–).*)
但它匹配从第一个短划线开始的所有内容,我不熟悉正则表达式:(
答案 0 :(得分:3)
使用捕获组。
> var s = 'www -aaa - ddd - xxx '
undefined
> s.replace(/(-[^-]*).*/, '$1')
'www -aaa '
> s.replace(/(-[^-]*)\b.*/, '$1')
'www -aaa'
答案 1 :(得分:0)
也可以在没有正则表达式的情况下获得。
var str="www -aaa - ddd - xxx";
str=str.split("-").slice(0,2).join("-")
alert(str)