正则表达式删除子字符串和x之后的所有字符

时间:2011-08-26 14:51:49

标签: javascript regex

我遇到正则表达式问题。我有一个这样的字符串:

/Date(-62135596800000+0100)/

我想删除所有内容,直到包括左括号和+符号后面的所有内容,到目前为止我已经想出了这个:

 [\/Date(]|\+(.*)

它有两个问题,1)它匹配单个字符/,D,a等而不是匹配它抛出的子串'/ Date('和2)和使用替换时出错,如下所示:

function returnNewString(oldString) {
    var re = [\/Date(]|+(.*),
    output = oldString.replace(re,'');
    return output;
}

我对reg-ex比较陌生,所以以上可能是错误的,所以任何帮助都会有所帮助,谢谢

3 个答案:

答案 0 :(得分:1)

假设您的文字总是这样,您可以使用:

function returnNewString(oldString) {
    return oldString.match(/[-\d]+/);
}

另一方面,如果您可能有/Date(+62135596800000+0100)//Date(62135596800000+0100)/之类的字符串,那么您应该使用此字符:

function returnNewString(oldString) {
    return oldString.match(/(?:-|\+)?\d+/);
}

答案 1 :(得分:0)

'/Date(-62135596800000+0100)/'.replace(/\/Date\((.*?)\+.*\)\//, '$1');

说明:未转义的括号匹配字符串中左括号和加号之间的部分,这是唯一的($1)整个字符串被替换为。

答案 2 :(得分:0)

/Date((-?\d+)+\d+)/ 第1组将包含字符串的所需部分。

例如,如果您的输入是“/ Date(-62135596800000 + 0100)/”那么

0组(整场比赛)将是“/日期(-62135596800000 + 0100)/”和 第1组将为-62135596800000