GNU grep正则表达式`[一 – 十]`(一到十)与汉字四(四)不符
发布时间:2020-12-13 22:54:29 所属栏目:百科 来源:网络整理
导读:这个命令 $echo '一二三四五六七八九十' | grep -oE '[一-十]' 输出: 一二三五六七八九十 正则表达式[一 – 十](一到十)预计将匹配中国数字. 如示例所示,除了中文字符四(四)之外,它与从1到10的每个中文数字匹配. 为什么? 这是一个错误还是一个笑话? 我可
这个命令
$echo '一二三四五六七八九十' | grep -oE '[一-十]' 输出: 一 二 三 五 六 七 八 九 十 正则表达式[一 – 十](一到十)预计将匹配中国数字. 为什么? 这是一个错误还是一个笑话? 我可能认为这是一个笑话,因为在中文’四'(四)听起来像’事'(事物).事实上,在一些中文方言中,它们共享相同的发音.因此,“一二三五六七八十”(一二三五六七八九)暗示’没四'(没有四),即’没事'(没有东西). BTW,我使用的grep版本: GNU grep 2.5.4
中文数字不符合Unicode.那四是U 56DB,而一是U 4E00,10是5341.所以4不适合.
有关更多信息,请阅读Unicode标准,请参阅http://www.unicode.org/charts/PDF/U4E00.pdf. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |