1
我想創建一個只對有效的日期相匹配(在MM/DD
或MM/DD/YY(YY)
格式)正則表達式正則表達式匹配的有效日期只有
我現在正則表達式(\d+)/(\d+)/?(\d+)?
很簡單,但它的任何數量的具有/
之前匹配/後。即如果一個字符串是2015/2016 12/25
它會將這兩個視爲匹配,但我只想要12/25
部分。
Here是一個樣本RegEx的鏈接。
我想創建一個只對有效的日期相匹配(在MM/DD
或MM/DD/YY(YY)
格式)正則表達式正則表達式匹配的有效日期只有
我現在正則表達式(\d+)/(\d+)/?(\d+)?
很簡單,但它的任何數量的具有/
之前匹配/後。即如果一個字符串是2015/2016 12/25
它會將這兩個視爲匹配,但我只想要12/25
部分。
Here是一個樣本RegEx的鏈接。
您可以添加單詞邊界(\b
)以確保您匹配日期字符串作爲整個「單詞」(以便匹配不會在數字中間開始),並限制匹配幫助的事件\d
限制性量詞:
\b(\d{2})/(\d{1,2})/?(\d{4}|\d{2})?\b
正則表達式擊穿:
\b
- 單詞邊界的數字(\d{2})
前權,以確保有一個非文字字符或字符串的開始 - 嚴絲合縫2個位數/
- 匹配一個/
(\d{1,2})
- 匹配和捕獲1 2位數字/?
- 匹配的1或0 /
(\d{4}|\d{2})?
- 匹配的1或0的出現4首或2個數字\b
- 結尾字邊界
嘗試['(\ d +)/(\ d +)/?(\ d +)?$'](https://regex101.com/r/pR8wD3/3)。 –
日期並不總是在字符串的末尾。他們被文字包圍 – Bijan
然後你的做法是不正確的。正則表達式匹配你要求它匹配的東西。你需要重新定義需求。 –