Javascript 如何删除日期序号(st、nd、rd、th)

Javascript 如何删除日期序号(st、nd、rd、th),javascript,regex,Javascript,Regex,我无法找到一种方法来删除日期序号,同时将月份保留在字符串中 例如,我需要: 2015年6月12日 输出到: 2015年6月12日 我发现它提到了如何做,但这种形式的正则表达式不适用于JavaScript。您需要创建两个捕获组,以选择月数(\d+)及其序号(st | nd | rd | th)。然后将字符串替换为$1(第一组包含月数)。大概是这样的: var str = "June 12th, 2015"; str.replace(/(\d+)(st|nd|rd|th)/, "$1"); //=&

我无法找到一种方法来删除日期序号,同时将月份保留在字符串中

例如,我需要:

2015年6月12日

输出到:

2015年6月12日


我发现它提到了如何做,但这种形式的正则表达式不适用于JavaScript。

您需要创建两个捕获组,以选择月数
(\d+)
及其序号
(st | nd | rd | th)
。然后将字符串替换为
$1
(第一组包含月数)。大概是这样的:

var str = "June 12th, 2015";
str.replace(/(\d+)(st|nd|rd|th)/, "$1");
//=> June 12, 2015

如果您不想担心各种序号,可以使用正则表达式匹配
前面的任意2个字符。要使用的正则表达式是:

var regex= /[a-z]{2},/;
它匹配由2个字符组成的字符串,后跟一个

例如:

> var regex= /[a-z]{2},/;
> var dateStr = 'June 12th, 2015';
> dateStr.replace(regex, ',');
< 'June 12, 2015'
var regex=/[a-z]{2},/; >var dateStr=‘2015年6月12日’; >dateStr.replace(regex,,); <‘2015年6月12日’
如果要使用正则表达式:

ord_day_pattern = re.compile(r"(?<=\d)(st|nd|rd|th)")
print re.compile(ord_day_pattern).sub("", mystring)

ord|day|pattern=re.compile(r)(?您使用的是矩库吗?使用
。替换(/(\d+)(:st | nd | rd | th)/,“$1”)
输入总是一个日期,还是可能是一个恰好包含日期的整个句子?
print re.compile(r"(?<=\d)(st|nd|rd|th)").sub("", mystring)