RegEx日期中的斜杠和反斜杠

时间:2015-08-06 15:44:00

标签: javascript regex

我有一个字符串:

"Cheesy Dibbles\n\n\n12/31/2011\n\n0 Comments\n\nThe cheese is left unspoken."

我要删除日期

(dd) (/ or \) dd (/ or \) dddd 
where d denotes the max number of digits 

然而,我是一个完全正则表达式的逃避斜线。 *

// var rexp = new RegExp(/\d{1,2}.\d{1,2}.\d{1,4}/gim); // doesn't work
var rexp = new RegExp(/\d{1,2}[/\\/]{0,1}\d{1,2}\/\d{1,4}/im);
var text = myStr.replace(rexp, "");

Reginald X. Pression你在哪里?

2 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

var myStr = 'Cheesy Dibbles\n\n\n12/31/2011\n\n0 Comments\n\nThe cheese is left unspoken.';
var rexp = new RegExp(/(0[1-9]|1[012])[\\\/](0[1-9]|[12][0-9]|3[01])[\\\/](19|20)\d\d/im);
var text = myStr.replace(rexp, '');

https://regex101.com/r/uW1dE2/1

在20世纪让某人写评论的机会相当渺茫,因此可以将年度组成部分简化为20 \ d \ d。

答案 1 :(得分:0)

您的代码必须是,

var text = myStr.replace(/\b\d{1,2}([\/\\]?)\d{1,2}\1(?:\d{2}|\d{4})\b/im, "");

DEMO