[英]Use regular expression to capture dates in utf-8
我使用gmail api獲取電子郵件內容,然后在node.js中將其轉換為字符串。
Buffer.from(dataToDecode, 'base64').toString('utf8')
然后,我使用正則表達式在文本中搜索日期。 例如2019年2月27日
/[A-Z][a-z]{2} [0-9]{2}, [0-9]{4}/g
它沒有匹配項,但是當我用console.log記錄內容時,會顯示日期。 然后我將日期復制到一些在線解碼工具中,結果
\xe2\x80\x8c\x46\xe2\x80\x8c\x65\xe2\x80\x8c\x62\xe2\x80\x8c\x20\xe2\x80\x8c\x32\xe2\x80\x8c\x37\xe2\x80\x8c\x2c\xe2\x80\x8c\x20\xe2\x80\x8c\x32\xe2\x80\x8c\x30\xe2\x80\x8c\x31\xe2\x80\x8c\x39\xe2\x80\x8c\x0a
和
\x46\x65\x62\x20\x32\x37\x2c\x20\x32\x30\x31\x39
都可以賦予相同的“ 2019年2月27日”。 如何使用正則表達式捕獲第一類編碼(即較長的編碼)?
UTF-8:正則表達式說明
\\x20
:[\\ s]空格
\\x2C
:[\\,]逗號
\\x30-\\x39
:[0-9]位數字
\\x41-\\x5A
:[AZ]大寫字母
\\x61-\\x7A
:[az]小寫字母
圖案
字符串: Feb 27, 2019
正則表達式: /[AZ][az][az]\\s\\d\\d\\,\\s\\d{4}/g
UTF-8: /[\\x41-\\x5A][\\x61-\\x7A]{2}\\x20[\\x30-\\x39]+\\x2C\\x20[\\x30-\\x39]{4}/g
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.