regex 破折号或正斜杠的正则表达式日期格式

up9lanfz  于 2023-06-25  发布在  其他
关注(0)|答案(2)|浏览(124)

我有一个正则表达式,它可以找到以下任何格式的字符串模式

28.05.2018 SB RS CS  
28-05-2018 SB RS CS  
28/05/2018 SB RS CS

正则表达式将第一个示例与日期中的句号匹配,但不将第二个和第三个示例与日期中的破折号和正斜杠匹配。
有谁能告诉我如何纠正正则表达式,使其与破折号或正斜杠匹配吗?
任何帮助将不胜感激。
该脚本是Adobe JavaScript的一部分。

var re = new RegExp(
"\\d{1,2}[\\-\\/\\.]\\d{1,2}[\\-\\/\\.]\\d{2,4}\\s([A-Z]{2,5})\\s([A-Z]{2,5})\\s([A-Z]{2,5})"
);
0h4hbjxa

0h4hbjxa1#

可以使用以下正则表达式:

\d{1,2}[/.-]\d{1,2}[/.-]\d{2,4}\s([A-Z]{2,5})\s([A-Z]{2,5})\s([A-Z]{2,5})

demo
注意事项:
你真的很接近了,在一个字符类中,你不需要转义破折号(如果你把它放在类定义的末尾)和圆点。

console.log("test 28.05.2018 SB RS CS test 28-05-2018 SB RS CS abc 28/05/2018 SB RS CS 123".match(/\d{1,2}[/.-]\d{1,2}[/.-]\d{2,4}\s([A-Z]{2,5})\s([A-Z]{2,5})\s([A-Z]{2,5})/g));
7eumitmz

7eumitmz2#

String formateDateOfBirth(String? dob) {
    return '$dob'.replaceAllMapped(
        RegExp(r'(\d{2})(\d{2})'), (Match m) => '${m[1]}/${m[2]}');
  }

这将给予“mm/dd”格式的月和日。eg:01/25您可以根据需要定制MM/dd/yyyy或任何yyyy-MM-dd

相关问题