Javascript使用正则表达式获取对象中间的日期

Javascript使用正则表达式获取对象中间的日期,javascript,regex,Javascript,Regex,我有一个对象“FILTER\u DATE”:“LAST\u MONTH”,“FROM\u DATE”:“2/9/2020”,“TO\u DATE”:“3/9/2020”,需要提取FROM\u DATE值2/9/2020。我试图使用replace,用一个空字符串替换from日期前后的所有内容,但我不确定如何获得值的两面。 目前,我可以删除一切,直到日期值与此/.*FROM_DATE:“/但现在如何删除对象的最后一部分 谢谢您可以在第二次删除/“,.*/,但这对我来说太有启发性了 您最好从以下正则表

我有一个对象
“FILTER\u DATE”:“LAST\u MONTH”,“FROM\u DATE”:“2/9/2020”,“TO\u DATE”:“3/9/2020”
,需要提取FROM\u DATE值
2/9/2020
。我试图使用replace,用一个空字符串替换from日期前后的所有内容,但我不确定如何获得值的两面。 目前,我可以删除一切,直到日期值与此<代码>/.*FROM_DATE:“/但现在如何删除对象的最后一部分


谢谢

您可以在第二次删除
/“,.*/
,但这对我来说太有启发性了

您最好从以下正则表达式中捕获第一个捕获组:

/FROM_DATE":"([0-9][0-9]?\/[0-9][0-9]?\/[0-9][0-9][0-9][0-9])"/
let str='“筛选日期”:“最后一个月”,“自日期”:“2020年9月2日”,“至日期”:“2020年9月3日”;
let pattern=/FROM_DATE:“([0-9][0-9]?\/[0-9][0-9]?\/[0-9][0-9][0-9])”/

警报(str.match(pattern)[1])如果需要使用“替换”,只需使用:

const input='“筛选日期”:“最后一个月”,“起始日期”:“2020年9月2日”,“截止日期”:“2020年9月3日”;
const date=input.replace(/^.*“FROM_date”:“([\d/]+)”*$/,“$1”);
现在您可以使用
date
,其中只包含日期…

您的示例字符串看起来非常像JSON。事实上,您可以将其用大括号括起来,将其解析为and对象,并获取FROM_日期的值

例如:

函数almostJsonStringToObject(str){
返回JSON.parse('{'+str+'}');
}
var str=““筛选日期”:“最后一个月”,“自日期”:“2020年9月2日”,“至日期”:“2020年9月3日”;
var obj=almostJsonStringToObject(str);
var fromdate=对象自日期;

console.log(fromdate)
你是指一个对象还是一个字符串?
var x=JSON.parse(“{”+your_String+“}”)。FROM_DATE
是获取该值和其他值的一种方法,询问你的输入首先是一个JSON字符串吗?抱歉,在这种情况下是一个字符串/谢谢,这是我要寻找的最接近的字符串。