ruby 正则表达式 匹配中文

1.puts /[一-龥]+/.match("this is 中文")                 =>中文

 

2.str2="123中文"
puts /\p{Han}+/u.match(str2)

文本编码格式:utf-8

文件第一行:#encoding:utf-8

require "rubygems"
require "iconv"
print Iconv.iconv("GBK","UTF-8",/\p{Han}+/u.match("tiantianxin你好angshang天天向上")[0])       =>你好

 

Ruby 和部分语言可以直接 #{Han} 等方式匹配特定的语言,但是对于某些语言,如 JavaScript,是不可能如此简便的

还有常用的:

  • /\p{Word}+/u 不限于 a-z0-9 的成词字符(就是非标点制表符空格等杂类的字符)
  • /\p{Hiragana,Katakana}+/u 匹配平假名+片假名

 

适用于中韩日的正则表达式,参考:http://chrisyip.im/post/regular-expression-for-cjk/

 

学习参考:http://ruby-china.org/topics/5680

转载于:https://www.cnblogs.com/dami520/p/3216169.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值