关于Hive正则匹配中文字符串的问题

首先,中文字符集为 ‘^[\\4e00-\\u9fa5]$‘

1.如果直接在Hive命令行中使用, 则直接使用 ‘^[\\u4e00-\\u9fa5]$’ 进行匹配

2.如果在终端调用,则需叫上转义符,如

hive -e "select ‘中国‘  rlike ‘^[\\\u4e00-\\\u9fa5]$’"

3.在scala和java中使用 同1;

val regex = new Regex("[\\u4e00-\\u9fa5]")
val a = regex.findFirstMatchIn("中国")
println(a)

原文地址:https://www.cnblogs.com/LakersChampionship/p/9718768.html

时间: 2024-12-14 16:20:43

关于Hive正则匹配中文字符串的问题的相关文章

利用Python正则匹配中文——爬取校园网公告栏中感兴趣的内容

写这个程序是因为校园网公告栏时不时会有学术报告,讲座之类的信息发布,但这类信息往往发布在讲座的前一天,以至于丢失很多重要消息.同时公告栏里也会发布一些跟学生无关的内容,比如工会主席会议啥的. 主要遇到的困难时对中文的正则匹配问题.(比如通过第一次正则可以提取到一个页面内的所有中文标题,第二次正则从这些中文标题中将能匹配上“报告”两个字的对象添加到结果list内) 学校公告页面是gb2312编码.我使用的方式是,整个工程使用utf-8编码,将需要匹配的关键字转换成utf-8编码格式,使用正则匹配u

C#匹配中文字符串的4种正则表达式分享

本文介绍在C#中使用匹配中文的正则表达式,包括纯中文.有中文.中文开头.中文结尾等几个正则表达式示例.在正则表达式中,中文可以通过Unicode编码来确定正则表达式范围. 在C#中,匹配中文的正则表达式用Unicode来表示时,范围是: [\u4e00-\u9fa5].所以,在此基础上,我们可以得到如下一些正则表达式. 1.匹配字符串全部是中文字符的正则表达式 代码如下: "^[\u4e00-\u9fa5]+$" 说明:“^”表示字符串开头,“$”表示字符串结束,“[\u4e00-\u

VIM中使用正则匹配中文

众所周知,使用JS的正则对中文进行验证时,可以使用: /[\u4e00-\u9fa5]+/.test('中文') 但是在VIM中再使用这个正则时,则会提示无法找到匹配项 E384: 已查找到文件开头(结尾)仍找不到[\u4e00-\u9fa5]+ 实际上,VIM的在进行搜索时,有一个'magic'设置,当magic设置为不同的情况时(默认的设置是magic),正则表达式的写法是不同的: magic: 除了`^.*$`之外所有的字符都需要加反斜杠 nomagic: 除了`^$`之外所有的字符都需要

C#匹配中文字符串的4种正则表达式

在C#中,匹配中文的正则表达式用Unicode来表示时,范围是: [\u4e00-\u9fa5].所以,在此基础上,我们可以得到如下一些正则表达式. 1.匹配字符串全部是中文字符的正则表达式 代码如下: "^[\u4e00-\u9fa5]+$" 说明:"^"表示字符串开头,"$"表示字符串结束,"[\u4e00-\u9fa5]+"表示一个或多个中文字符. 2.匹配字符串中包含中文字符的正则表达式 代码如下: "[\u

正则匹配中文问题

前两天,在公司做一个比较简单的姓名优化,但确在中文姓名这一块,确实为难了. 在网上找了好多的正则,都是能匹配中文及中文的符号,比如: , .之类 好在最后找到了一个比较好的,可以忽略符号的正则,分享给大家: $str = "一二二四五六七八九"; if( preg_match("/^[\x{4e00}-\x{9fa5}]{2,20}$/u",$str) ) // /u是指unicode编码处理 这个正则可以忽略符号.只匹配中文. { echo "<f

正则匹配中文字符

有如下字符: <li><a href="/song?id=185613">惊叹号</a></li><li><a href="/song?id=185614">迷魂曲</a></li> 怎么写正则才能匹配出" 迷魂曲"呢? 答: reg1 = /id=185614">([u4e00-\u9fa5]{3})<\/a>/g; va

正则匹配中文

//如果只想匹配中文,中文的ASI编码为[u4e00-u9fa5] $str = preg_replace("/[\x{4e00}-\x{9fa5}]/iu","zh",$str);    echo $str;

php正则匹配中文

<?php $str = '你是我的+****xiaopingguo _ 23947237 _+冠军终归这里'; preg_match_all('/[\x{4e00}-\x{9fa5}A-Za-z0-9]+/u', $str, $re); print_r($re); //输出结果是: //Array ( [0] => Array ( [0] => 你是我的 [1] => xiaoweiba [2] => 23947237 [3] => 冠军终归这里 ) ) 逐个解释:

PHP正则匹配中文汉字注意

preg_match('/^[a-zA-Z\x{4e00}-\x{9fa5}]+$/u', $str) 如上,是匹配字母或者汉字的,一定要在后面加模式修饰符 u , 不然就出错! u (PCRE_UTF8) 此修正符打开一个与 perl 不兼容的附加功能. 模式字符串被认为是utf-8的. 这个修饰符 从 unix 版php 4.1.0 或更高,win32版 php 4.2.3 开始可用. php 4.3.5 开始检查模式的 utf-8 合法性. utf8格式的匹配模式字符串必须要使用  u 修