[英]Specific match with “OR condition” - regex
我正在做一個正則表達式以將datetime
與以下格式匹配:
d/M/yyyy
d-M-yyyy
M/d/yyyy
M-d-yyyy
dd/MM/yyyy
dd-MM-yyyy
MM/dd/yyyy
MM-dd-yyyy
...
我試過了:
var reg = /^(\\d{1,4}[/\\-]\\d{1,2}[/\\-]\\d{1,4}\\s(\\d{1,2}:){2}\\d{1,2})$/; alert(reg.test('18/07/2016 00:00:00'));
工作正常。 但是問題是:它仍然可以使用以下格式:
d/M-yyyy
//or
dd-MM/yyyy
我看到問題的索引在[/\\-]
。 我需要重復的正確/
或-
(僅一個)。
我的問題:我該如何解決?
使用捕獲組:
^\d{1,4}([/-])\d{1,2}\1\d{1,4}\s(\d{1,2}:){2}\d{1,2}$
\\1
將匹配與第一個捕獲組匹配的文本,即([/-])
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.