正则表达式匹配nicode和其他字符腾讯云开发者社区

\u 之后紧跟十六进制值 00e9(这里不区分大小写,即00E9也可以)。00e9对应十进制值233,在 ASCII 范围(0~127)之外。注意在图中字母 é(小写e加上一个重音符)被标亮了。这是因为在 Unicode 中 é 就是代码点 U+00E9,所以就被 \u00e9 匹配。

在MySQL中匹配的结果如下:

下面是一段日本诗人松尾芭蕉(Matsuo Basho,他恰巧是在伏尔泰出生的前一周去世的)的俳句。

用正则表达式 \u6c60 匹配,这是“池”字所对应的日文字符的代码点。该字会被标亮,如下图所示。

在MySQL中可以查询任意Unicode字符的代码点。

UCS2(Universal Multiple-Octet Coded Character Set)是一种使用两个字节(16位)表示 Unicode 字符集的编码方式,它能够表示 Unicode 字符集中的所有字符。

也可以从 Unicode 代码点反查字符:

需求是在 MySQL 表中查询出所有包含 emoji 符号的数据。

emoji 符号以 UTF-16 方式实现储存。以 Unicode 1F43B 为例,存储的代码点为\ud83d\udc3b。计算过程如下:

这样就得到了高低位。MySQL 实现如下:

通过对 Unicode 范围的计算,emoji 对应的编码区间用正则表达表示为:

因此可以通过类似下面的查询找出所有包含emoji符号的数据:

注意这个正则表达式不是严格匹配,其区间范围是 emoji 符号编码范围的超集,也就是说除覆盖现有全部 emoji 符号还存在空的代码点。该正则表达式可以满足目前 emoji 符号不断扩充的需求。

需求是在MySQL表中查询出所有包含中文(包括标点符号)的数据。

中文对应的编码区间用正则表达表示为:

因此可以通过类似下面的查询找出所有包含中文的数据:

注意这个正则表达式不是严格匹配,其区间范围是中文编码范围的超集,也存在空代码点。正则表达式是从左向右进行匹配的,大多数情况下,最左边两万汉字已可以完成匹配比较。

这里的实现与正则表达式无关。在后面会说明为什么加此一节。

需求是将字符串中的汉字转为拼音。创建一个汉字转拼音的函数,在其中判断每个字符是否为中文,如果是则查询拼音表取得对应的拼音,否则原样返回。网上的大部分 MySQL 转拼音函数都是通过创建一个拼音对照表,然后在自定义函数中查询该表实现的。以下对这种实现做了修改,具有以下特点:

列举这个函数的原因是,我原本打算用 regexp_replace 函数,在第三个参数中引用捕获分组的方式一次性完成替换逻辑,但未能如愿,因为函数是在正则表达式匹配之前执行(后面会看到有例外)。如下所示,upper 函数先于正则表达式执行,将参数中的常量字符变成大写,然后捕获组 $1 才会原样输出。

可以用 \w+ 匹配英语单词,然后用在循环用 regexp_substr 依次取单词,并将单词首字母转大写,单词其他字母转小写,非单词字符原样返回。

需求是这样的,将单词首字母转大写,其他字母转小写,但以点号 . 结尾的单词不做转换。先看实现:

最外层的 regexp_replace 将匹配 char(0)加上任意单一字符的标识字符串替换掉,剩下的就是符合要求的结果。

还可以使用八进制数来匹配字符,八进制数以 8 为基数,使用数字 0到7 计数。在正则表达式处理器中,就是要在反斜线(\)后加三位数字。比如,以下八进制数:\351,等同于:\u00e9。

在 MySQL 中,八进制的表示需要在数字前添加 0。

每一个 Unicode 字符,除了有 Code Point (代码点)与之对应外,还具体其他属性。在正则表达式中常用到三种 Unicode 属性:Unicode Property、Unicode Block、Unicode Script,分别对应字符功能、所属代码区段、书写系统;它们的表现形式都类似 \p{property}。

Unicode Property 的记法类似 \p{L}、\p{P}。它按照字符的功能分类 Unicode 字符,每个 Unicode 字符只能属于一个 Unicode Property。可以这样理解 Unicode Property:它并不关心字符所属的语言,只关心字符的功能,比如 \p{Z} 表示任意的空白字符或不可见的分隔符;\p{P} 表示任意标点字符,等等。遇到中英文混排、全角、半角字符同时出现的情况,看可以用 \p{Z} 匹配所有的空白字符(而不用关心空格到底是全角空格还是半角空格),用 \p{P} 匹配所有的标点字符(而不用关心逗号到底是中文逗号还是英文逗号)。

如果把 Unicode Property 理解为一个“字符组”,一定还有对应的排除型字符组,此排除型字符组的通行记法是将 \p{property} 中的小写改为大写 P,写作 \P{property}。

不同于 Unicoe Property,Unicode Block 按照编码区间划分 Unicode 字符,各个区间彼此联系但互不相交,所以每个 Unicode 编码中的每个字符都有唯一归属的 Unicode Block。

在 Unicode 编码表中,同一种语言的字符通常落在同一区间的,所以 Unicode Block 也可以粗略表示某类语言的字符,比如 \p{InHebrew} 表示希伯莱语字符,\p{InCJK_Unified_Ideographs} 表示兼容 CJK(中文、日文、韩文)统一表意字符。Unicode Block 的名字都有 In(Java风格)或者 Is(.NET风格)前缀,所以它对应的还是“落在某个区间的 Unicode 字符”。

另外值得一用的是 \p{InCJK_Symbols_and_Punctuation},从命名上来看,它覆盖了中文、日文、韩文中的大部分常见标点,但事实并非如此。比如全角逗号和叹号不匹配此属性,而全角句号就匹配。不过,所有标点都在 \p{P} 这个 Unicode Property 中。

Unicode Script 按照字符所属的书写系统来划分 Unicode 字符,比如 \p{Greek} 表示希腊语字符,\p{Han} 表示汉语(中文字符)。它的写法类似 Unicode Block,只是名字的开头没有 Is 或者 In。可以很方便地用 \p{Han} 来匹配中文字符。

很少会在文本中查找控制字符,但知道如何做也不是件坏事。在正则表达式中,可以像这样来指定一个控制字符:\cx ,其中 x 就是想匹配的控制字符。

如果没有括号,\b 会被认为是单词边界。括号改变了正则表达式处理器对 \b 的理解方式。

THE END
0.中文姓名→日文读音转换中文姓名 → 日文假名及读音 输入姓名,快速查看对应的假名、发音与罗马音 请输入中文姓名,例如:张伟、李娜 查询日文读音jvzquC41pcsf0‚nmck4kr8
1.日文翻译中文日语翻译成中文日文翻译中文 你感兴趣的课程 日语课程日语能力考日语入门实用日语日语口语 更多>> 日语0-N2签约班(26年12月)升级版 1024人感兴趣免费试听 日语0-N2 系统直播课 25年第四期【乐学版】 1000人感兴趣免费试听 日语0-N1全程班(2027年7月) 1010人感兴趣免费试听 沪江日语 1V1私人定制 30课时 【双11专享班】 1000人感兴趣免费jvzquC41yy}/j~okcpm/exr1lrijm~4lrli`3B52:1
2.新手的日文名字中文名字新手转日语名字日本通【新手】中文名字转日文名字 数据更新时间:2025-10-31 15:51:06 翻译类型姓氏(新)名字(手) 日文汉字 新 手 平假名(ひらがな) しん しゅ 片假名(カタカナ) シン シュ 日文罗马字(ローマ字) shinn shu 中文式音读 シン ショウ 为您提供新手的标准日语名字翻译,包括日文汉字、平假名、片假名jvzquC41yy}/trggpvuoi7hqo1sjppk1'K7'B;'D25&G?*:;'>C0qyon
3.肿么把电脑游戏日文转换成中文肿么把电脑游戏日文转换成中文键盘 LG LG 游戏键盘 查看全部8条评论回答 写回答 xiaojian1222m 这不叫日文,这叫乱码,用Locale Emulator打开游戏可以把乱码转为日文,用Visual Novel Reader一般可以实现机翻,直接转换为中文得看那游戏有没有语言转换的设置,不过看这乱码肯定没有 有用(0) 回复 举报 jvzquC41ycv/|xq0eqs/ew4cum5eg}fknue74;:644e24?8284e40qyon
4.中文汉字转换日文假名工具中文日语转换,汉字转平假名,中文转日语 中文 翻译 日语 平假名 汉字 上传者:m277877855时间:2009-05-18 日文歌词转换器(给日文歌词中的中文加上平假名注释) 最近学日语日语歌词中很多中文,不会读,所以做这个东西 可以自动给日文的中文歌词加上注音 界面没做完等界面做完后升级开源 上传jvzquC41yy}/k}j{g0ipo8wguq{sen4uknkovp243;?59@
5.AITranscriptionForMacv2.13Mac语音转文字工具中文版AI Transcription For Mac v2.13 Mac语音转文字工具中文版 效率 前往下载地址 信息 激活破解版 版本2.13 语言德文,意大利文,日文,法文,简体中文,英文,西班牙文,韩文 大小4.9GB 支持机型Apple Silicon M芯片 intel芯片 App Store访问 把音频变成文字! AI Transcription 使用先进的语音识别技术,以全自动、离线的方式jvzquC41ocipuqtog0ipo8Dr?4;76B
6.中文日文转换器在线转换中文字体分类发现字体简介: 中文日文转换器在线转换 Proximus Bold语言:英文 Proximus Bold 下载 Grundig DIN Bold语言:英文 Grundig DIN Bold 下载 AzoSans-Thin语言:英文 AzoSans-Thin 下载 ClariceMediumItalic语言:英文 ClariceMediumItalic 下载 AzoSans-Italic语言:英文 AzoSans-Italic jvzquC41yy}/srz|kvo/exr1hqtunrxv4Aoe?<7924
7.日文字符大全繁简转换中文繁简转换繁体简体转化繁简体转换 数字转中文大写 在线中文转拼音 在线字数统计 火星文转化器 字符替换工具 摩斯密码加密解密 上标转换器 在线去空行工具 在线去除HTML格式 在线去除换行工具 文字笔划统计工具繁体字转换器简体转繁体-繁体转简体-在线繁字体转换日文字符大全 简体转繁体 繁体转简体 复制输入框内容 jvzquC41vgyiwƒnhw0io1rsfgz5dqw{gtv5tjx|1mgxq{i1'G<&;@*C7'K7'B;':9+F7.FF';=&G@*CE'G7'N:'C6+B9.J7':;&CA3jvor
8.《信长之野望12:革新》日文PK转中文PK版直升补丁包下载补丁类型:汉化补丁 整理时间:2008-01-16 大小:18.43MB 补丁制作:3DMGAME 补丁语言:简中 版本: 资源说明 《信长之野望12革新》日文PK转中文PK版直升补丁包 本补丁包可将日文版PK直接转换成中文版PK,并同时保留日文原版文件在BACKUP目录下,可方便大家随时作还原之用 jvzquC41fn44fvlcog4dqv4rcvii1=7520nuou
9.三国志12日文版转官方繁体中文补丁(包含繁体动画)三国志12汉化包游侠网补丁站提供三国志12日文版转官方繁体中文补丁(包含繁体动画)下载,三国志12(Romance Of Three Kingdom 12)日文版转官方繁体中文补丁(包含繁体动画)相关汉化包尽在游侠网补丁站。jvzquC41rczdj7fnk4740wjv1unpyyfvej529=730jznn