亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式模式:未封閉組

正則表達式模式:未封閉組

慕少森 2023-01-05 10:07:05
我需要匹配以下日期模式:dd-mmm-yyyy (TBC)dd-mmm-yyyy (TBD)dd-mmm-yyyy但我得到以下異常,我不明白錯誤是什么。我很確定日期部分,我懷疑錯誤的來源是必須可選的 TBC/TBD 部分。 java.util.regex.PatternSyntaxException: Unclosed group near index 614^(29-02-(2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26]))))[ \(TB(C|D)\)]$|^((0[1-9]|1[0-9]|2[0-8])-((FEB)|(feb)|(Feb)|(FEV)|(fev)|(Fev))-((19|2[0-9])[0-9]{2}))[ \(TB(C|D)\)]$|^((0[1-9]|[12][0-9]|3[01])-(((JAN)|(jan)|(Jan))((MAR)|(mar)|(Mar))((MAY)|(may)|(May)|(MAI)|(mai)|(Mai))((JUL)|(jul)|(Jul)|(JUI)|(jui)|(Jui))((AUG)|(aug)|(Aug)|(AUO)|(auo)|(Auo))((OCT)|(oct)|(Oct))((DEC)|(dec)|(Dec)))-((19|2[0-9])[0-9]{2}))[ \(TB(C|D)\)]$|^((0[1-9]|[12][0-9]|30)-(((APR)|(apr)|(Apr)|(AVR)|(avr)|(Avr))((JUN)|(jun)|(Jun)|(JUI)|(jui)|(Jui))((SEP)|(sep)|(Sep)((NOV)|(nov)|(Nov))-((19|2[0-9])[0-9]{2}))[ \(TB(C|D)\)]$                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ^你有什么提示嗎?提前致謝
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

你的模式不是最優的,甚至是錯誤的:

  • 月份名稱之間缺少交替運算符

  • 重復次數太多,只是大小寫不同:使用不區分大小寫的標志

  • [ \(TB(C|D)\)]很可能是錯字,因為它是一個匹配其中定義的單個字符的字符類,您需要(?: \(TB[CD]\))?一個可選的非捕獲組。

采用

(?i)^29-02-(?:2[048]00|(?:19|2[0-9](?:0[48]|[2468][048]|[13579][26])))(?: \(TB(C|D)\))?$|^(?:0[1-9]|1[0-9]|2[0-8])-fe[vb]-(?:19|2[0-9])[0-9]{2}(?: \(TB(C|D)\))?$|^(0[1-9]|[12][0-9]|3[01])-(jan|ma[ryi]|ju[li]|au[go]|oct|dec)-(?:19|2[0-9])[0-9]{2}(?: \(TB(C|D)\))?$|^(?:0[1-9]|[12][0-9]|30)-(?:a[pv]r|ju[ni]|sep|nov)-(?:19|2[0-9])[0-9]{2}(?: \(TB(C|D)\))?$

請參閱正則表達式演示


查看完整回答
反對 回復 2023-01-05
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號