使用正则表达式在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

它没有匹配,但是当我委托时。然后,我将日期复制到一些在线解码工具中,事实证明

xe2x80x8cx46xe2x80x8cx65xe2x80x8cx62xe2x80x8cx20xe2x80x8cx32xe2x80x8cx37xe2x80x8cx2cxe2x80x8cx20xe2x80x8cx32xe2x80x8cx30xe2x80x8cx31xe2x80x8cx39xe2x80x8cx0a

x46x65x62x20x32x37x2cx20x32x30x31x39

既可以给予同一" 2019年2月27日"。如何使用正则表达式捕获第一个类型的编码(即编码较长)?

1。检查Unicode表。

2。设置条件:

UTF-8:REGEX描述

x20:[ s] space

x2C:[,]逗号

x30-x39:[0-9]数字号码

x41-x5A:[A-Z]大写字母

x61-x7A:[A-Z]小写字母

模式

字符串:Feb 27, 2019

REGEX:/[A-Z][a-z][a-z]sdd,sd{4}/g

UTF-8:/[x41-x5A][x61-x7A]{2}x20[x30-x39]+x2Cx20[x30-x39]{4}/g

REGEX101演示

最新更新