我遇到正则表达式问题。我有一个这样的字符串:
/Date(-62135596800000+0100)/
我想删除所有内容,直到包括左括号和+符号后面的所有内容,到目前为止我已经想出了这个:
[\/Date(]|\+(.*)
它有两个问题,1)它匹配单个字符/,D,a等而不是匹配它抛出的子串'/ Date('和2)和使用替换时出错,如下所示:
function returnNewString(oldString) {
var re = [\/Date(]|+(.*),
output = oldString.replace(re,'');
return output;
}
我对reg-ex比较陌生,所以以上可能是错误的,所以任何帮助都会有所帮助,谢谢
答案 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