這可能是直截了當的,但我甚至不知道我應該谷歌哪一句話來找到答案。原諒我的不高興。正則表達式正則表達式返回的值正則表達式
我有串看起來像這樣的(文件名):
site12345678_date20160912_23001_to_23100_of_25871.txt
什麼命名約定的意思是「記錄23001 23100通過出25871站點12345678爲2016年9月12日(20160912)」
我想要做的是提取的日期部分(_date
及以下_
之間的那些數字)
正則表達式:.*(_date[0-9]{8}).*
將返回字符串_date20160912
。但是我真正想要的只是20160912
。很明顯,[0-8]{8}
不給我我想要的這種情況下,因爲這可能與網站混淆,或可能記錄計數
我怎樣才能負責任地完成這種'子串'與一個正則表達式?
只需使用捕獲組:'/ _date([0-9] {8})/'來提取數字部分。如果您的目標平臺具有此功能,則可以使用lookbehinds('/(?<= _ date)[0-9] {8} /')[[demo](https://regex101.com/r/wU1iU7/1)]。提示:JS沒有。 – raina77ow
你使用哪種語言? –
你只需要重新調整圓括號 - '。* _ date([0-9] {8})。*' –