那麼,你有的部分是不完全正確的。而不是[0-30-9]
我認爲你的意思是[0-3][0-9]
,而其他數字也是如此。
但是,通常只要稍微寬鬆一點,只需使用\d
即相當於[0-9]
。前一後
你串部分組合在一起之一:
/\d\d (MONTH) \d\d\d\d at \d\d:\d\d/
從而可以更簡潔地寫爲:
/\d\d (MONTH) \d{4} at \d\d:\d\d/
或者,如果你真的需要它更加嚴格,如您的配方:
/[0-3]\d (MONTH) [0-2]\d{3} at \d\d:\d\d/
我已經留下了最後一個月的位,因爲它是比較複雜的位。再次,你可以寬鬆或嚴格。
鬆散:「|」
/[0-3]\d [A-Za-z]+ [0-2]\d{3} at \d\d:\d\d/
對於嚴格匹配,我們可以使用的交替,每個替代由分離並選擇列表中括號內(雖然提防,括號也有另外一個額外的意義,不用擔心它會不會在這種情況下干擾):
/[0-3]\d (January|February|March|April|May|June|July|August|September|October|November|December) [0-2]\d{3} at \d\d:\d\d/
最後,如果天不0-填充(這意味着第一個就是「1」,而不是「01」),那麼你需要做的是可選:
/[0-3]?\d (January|February|March|April|May|June|July|August|September|October|November|December) [0-2]\d{3} at \d\d:\d\d/
嬰兒牀片
- []用於創建人物類,一組匹配的字符
- \ d的是內置相當於[0-9]
- ()被用於創建一組,其可用於界定的交替(除其他事項外)
字符類
- |用於創建交替,即應該匹配替換字符序列的列表
- 的{N}的改性劑,說正好「n」的前一字符或字符類亦宜
- +是改性劑,說1或更多前面的字符或字符類應該匹配
- ?是一種改性劑,說前面的字符或字符類的0或1亦宜