您好我尝试在带有正则表达式的字符串中查找变量日期,之后我想将日期保存在新变量中,我的代码如下所示:
var valide =new RegExp(/\d{2}([./-])\d{2}\1\d{4}$/mg);
var text = 'lalaahfdsdfl 02.02.1989';//example
if(valide.test(text) === true){
}
如何将找到的日期(02.02.1989)放入新变量
答案 0 :(得分:0)
您可以在Regex表达式中创建组(只需在括号之间放置所需的值),然后在use this中创建组以获取特定的组值。
但请注意,我认为你的正则表达式是错误的......似乎你以1加4位结尾
答案 1 :(得分:0)
您可以对字符串使用匹配:
var valide =new RegExp(/\d{2}([./-])\d{2}\1\d{4}$/mg);
var text = 'lalaahfdsdfl 02.02.1989';//example
console.dir(text.match(valide)) // ["02.02.1989"]
if(valide.test(text) === true){
}
答案 2 :(得分:0)
您可以使用match
:
var valide =new RegExp(/\d{2}([./-])\d{2}\1\d{4}$/mg);
var text = 'lalaahfdsdfl 02.02.1989';//example
var foundDate = text.match(valide);
console.log(foundDate);
此外,如果将([./-])
切换为([-.])
,则可以使正则表达式更简单,因为如果-
首先出现在字符类中,则img
被视为文字匹配。< / p>
答案 3 :(得分:0)
使用REGEXP函数match
,您可以提取与正则表达式匹配的部分。
在此之后你会得到一个物体。在这种情况下,我把它变成一个字符串,这样你就可以用它做更多的事情。
var myDate = text.match(valide).toString();
希望这会有所帮助:&gt;
var valide =new RegExp(/\d{2}([./-])\d{2}\1\d{4}$/mg);
var text = 'lalaahfdsdfl 02.02.1989';//example
if(valide.test(text) === true){
var myDate = text.match(valide).toString();
console.log(myDate)
}
答案 4 :(得分:0)
你可以这样做。
var result = text.match(valide)
以下是匹配方法String.prototype.match
的参考