免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6427 | 回复: 13
打印 上一主题 下一主题

请问vim中的汉字的正则表达式是什么?[已解决] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-06 23:09 |只看该作者 |倒序浏览
用google搜索到的[^\x00-\xff] 和 [\u4e00-\u9fa5] 都不能用。

有文章说那两个是给js的utf-8源文件用的,但我把原文件用utf-8、gb18030编码都不行。

[ 本帖最后由 995636 于 2007-12-9 12:26 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-12-06 23:11 |只看该作者
。。。我猜的
都调成 汉字编码
直接sed 里面 直接用汉字 就ok。。。嘿嘿

论坛徽章:
0
3 [报告]
发表于 2007-12-07 08:10 |只看该作者
试试
  1. [^[:alnum:][:cntrl:][:space:]]
复制代码

论坛徽章:
0
4 [报告]
发表于 2007-12-07 09:15 |只看该作者
楼主的意思是匹配所有汉字,比如把所有汉字删掉?但是问题是你怎么区分汉字和标点?

论坛徽章:
0
5 [报告]
发表于 2007-12-07 09:27 |只看该作者
原帖由 walkerxk 于 2007-12-7 09:15 发表
楼主的意思是匹配所有汉字,比如把所有汉字删掉?但是问题是你怎么区分汉字和标点?



[^[:cntrl:][:space:][:print:]]

这个能够保留acsii的标点符号,不过,中文标点符号也会被去除

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
6 [报告]
发表于 2007-12-07 10:25 |只看该作者

回复 #1 995636 的帖子

不太明白楼主的意思。

解决方案:
先用sed处理,
个别地方手动添加空格。

[ 本帖最后由 blackold 于 2007-12-7 13:06 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2007-12-07 12:23 |只看该作者
谢谢诸位的回答。不过3楼和5楼提出的方案还是不行。

这是我前两天摆弄郑码的码表的时候碰到的问题。虽然后来用google到的c#程序解决了转换问题,但希望能知道为什么vim的正则表达式不行。

windows输入法的码表是字前码后,fcitx是码前字后,都没有标点。本来以为可以用正则表达式轻松解决的,结果碰到了以上问题。英文的正则表达式是没有问题的,只有中文的无法识别,显示的结果是无匹配项。

论坛徽章:
0
8 [报告]
发表于 2007-12-07 12:49 |只看该作者
汉字+编码  (通常情况下,中间应该有空格分隔)

awk '{print $2 " " $1}'  就可以把 汉字 和 编码 对调

如果要用正则的话

  1. sed -r 's/([^ ]+)[ ]+([^ ]+)/\2 \1/'  文本
复制代码

也可以把汉字和编码对调

在vim中,应该用的正则表达式与sed中的差不多

论坛徽章:
0
9 [报告]
发表于 2007-12-07 12:54 |只看该作者
在WINDOWS下编辑好然后上传上去就行了。

论坛徽章:
0
10 [报告]
发表于 2007-12-07 21:24 |只看该作者
原帖由 springwind426 于 2007-12-7 12:49 发表
汉字+编码  (通常情况下,中间应该有空格分隔)

awk '{print $2 " " $1}'  就可以把 汉字 和 编码 对调

如果要用正则的话

sed -r 's/([^ ]+)[ ]+([^ ]+)/\2 \1/'  文本

也可以把汉字和编码对调

...


awk的那个可以,sed的没有试。不过把sed的那个正则表达式放到vim里仍旧不行,不知为什么。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP