这个命令
$echo '一二三四五六七八九十' | grep -oE '[一-十]'
输出:
一 二 三 五 六 七 八 九 十
正则表达式[一 – 十](一到十)预计将匹配中国数字.
如示例所示,除了中文字符四(四)之外,它与从1到10的每个中文数字匹配.
为什么?
我可能认为这是一个笑话,因为在中文’四'(四)听起来像’事'(事物).事实上,在一些中文方言中,它们共享相同的发音.因此,“一二三五六七八十”(一二三五六七八九)暗示’没四'(没有四),即’没事'(没有东西).
BTW,我使用的grep版本:
GNU grep 2.5.4
中文数字不符合Unicode.那四是U 56DB,而一是U 4E00,10是5341.所以4不适合.
有关更多信息,请阅读Unicode标准,请参阅http://www.unicode.org/charts/PDF/U4E00.pdf.
原文地址:https://www.jb51.cc/regex/356605.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。