Board logo

标题: [问题求助] [已解决]gawk如何匹配一个汉字 [打印本页]

作者: g495326    时间: 2022-11-15 08:52     标题: [已解决]gawk如何匹配一个汉字

本帖最后由 g495326 于 2022-11-18 13:40 编辑

[<汉字>],提前感谢了
作者: BAT221110    时间: 2022-11-15 09:17

考虑用UNICODE编码范围来做?如这篇文章:https://www.w3cschool.cn/regexp/nck51pqj.html
作者: g495326    时间: 2022-11-15 11:13

回复 2# BAT221110


    不行的
作者: hfxiang    时间: 2022-11-15 11:51

本帖最后由 hfxiang 于 2022-11-15 11:55 编辑

在cmd窗口测试如下指令,看能否满足你的需求
  1. echo;中文|gawk "/[\322\273-\375\233]/" >con
  2. echo;12.3|gawk "/[\322\273-\375\233]/" >con
复制代码
异类一点的用
  1. 纯中文,用:[一-龥]
  2. 带标点,用:[一-龥– —‘’“”…、。〈〉《》「」『』【】〔〕!(),.:;?]
复制代码

作者: g495326    时间: 2022-11-15 12:42

回复 4# hfxiang


    解决了我的问题,多谢
但还是一点不理解,「一」的编码是0xD2BB,「龥」的编码是FD9B,它们之间的范围并没有包括「啊」的编码0xB0A1,为什么仍然能匹配到「啊」字。见下图

点击放大查看

作者: BAT221110    时间: 2022-11-15 13:07

回复  hfxiang


    解决了我的问题,多谢
但还是一点不理解,「一」的编码是0xD2BB,「龥」的编码 ...
g495326 发表于 2022-11-15 12:42



    可能GAWK用的是UTF8?会不会不一样
作者: g495326    时间: 2022-11-15 13:31

回复 6# BAT221110


    不是的
作者: hfxiang    时间: 2022-11-16 08:11

回复 5# g495326


   
7000汉字的排序可参见:
https://zhuanlan.zhihu.com/p/266732210?utm_id=0
作者: g495326    时间: 2022-11-16 09:10

我明白了,输入编码是gbk,但内部还是使用unicode字符集来比较的。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2