ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: weiyingde

[求助] word汉语拼音正则表达式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-4-5 00:49 来自手机 | 显示全部楼层
本帖最后由 lss001 于 2017-4-5 12:41 编辑

[ā-ɡ]拼音第一个与最后一个
跟[a-z]匹配全部小写英文字母是一样一样的!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-4-5 07:37 | 显示全部楼层
拼音的简写为\y吗?还能公布一下其他的一些不为人知的代码缩写吗?
汉语拼音到底是属于中文字符,还是英文字符呢?

TA的精华主题

TA的得分主题

发表于 2017-4-5 12:41 来自手机 | 显示全部楼层
本帖最后由 lss001 于 2017-4-5 13:05 编辑
weiyingde 发表于 2017-4-5 07:37
拼音的简写为\y吗?还能公布一下其他的一些不为人知的代码缩写吗?
汉语拼音到底是属于中文字符,还是英文 ...


拼音简写有误!!!
拼音只能是[ā-ɡ]

其次汉语拼音属于特殊符号中的拼音符号
特殊符号包括
标点符号
单位符号
数学符号
特殊符号
数字序号
拼音

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-4-5 15:52 | 显示全部楼层
lss001 发表于 2017-4-5 12:41
拼音简写有误!!!
拼音只能是[ā-ɡ]

拼音是   [ā-ɡ]
数字系列:\d
那么下面的有缩写形式吗?
标点符号
单位符号
特殊符号

TA的精华主题

TA的得分主题

发表于 2017-4-5 19:14 来自手机 | 显示全部楼层
本帖最后由 lss001 于 2017-4-5 19:17 编辑
weiyingde 发表于 2017-4-5 15:52
拼音是   [ā-ɡ]
数字系列:\d
那么下面的有缩写形式吗?


缩写没得???
但可用通配符"."
或"[\S\s]
或[\W\w]
或[\D\d]
匹配任何字符!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-4-5 19:30 | 显示全部楼层
一会儿是通配符,一会儿是正则代码,一会儿又是简写。这方面有没有比较清晰的资料?
到底什么时候用通配符,什么时候用正则代码?
真叫人难以分辨。

TA的精华主题

TA的得分主题

发表于 2017-4-5 22:38 来自手机 | 显示全部楼层
本帖最后由 lss001 于 2017-4-6 23:08 编辑
weiyingde 发表于 2017-4-5 19:30
一会儿是通配符,一会儿是正则代码,一会儿又是简写。这方面有没有比较清晰的资料?
到底什么时候用通配符 ...


在正则代码中
能用简写尽量用简写,
能用通配符尽量用通配符,
一方面是为了方便书写
另一方是为了便于阅读

常用通配符
"."→要注意它可匹配空字符,不能区配换行符
"[\S\s]"→"[\D\d]"→"[\W\w]"

常用简写
\S→\s→\D→\d→\W→\w

常用量词
通用{m,n}→{m,}→{m}
{0,}简写*→{1,}简写+→{0,1}简写?

常用符号
{}→[]→()→\→-→l→^→$
(?:)→(?=)→(?!)
\b→\B→\n→\N
\r→\R→\t→\T
\f→\F→\v→\V
.
常用匹配
[\u4e00-\u9fff]中文→[ā-ɡ]中文拼音
[a-zA-Z]英文字母→[0-9]数字

常用逻辑
必须出现→可能出现→不能出现

常用操作
查找→提取→替换→验证→切分

最后告诫
→不要认为正则万能
→更不要太依赖正则

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-4-6 08:04 | 显示全部楼层
lss001 发表于 2017-4-5 22:38
在正则代码中
能用简写尽量用简写,
能用通配符尽量用通配符,

谢谢指点,只有慢慢领会了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-4-6 08:23 | 显示全部楼层
lss001 发表于 2017-4-5 22:38
在正则代码中
能用简写尽量用简写,
能用通配符尽量用通配符,

在学正则的过程中,下了一些资料,各资料之间有些诧异。下面是我下的资料:
2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字、月份,以及日本的假名组合、单位、年号、月份、日期、时间等。
3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字。
4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字。
A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。
AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文字。
F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日韩汉字。
FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角符号等。
比如需要匹配所有中日韩非符号字符,那么正则表达式应该是^[/u3400-/u9FFF]+$
理论上没错, 可是我到msn.co.ko随便复制了个韩文下来, 发现根本不对, 诡异
再到msn.co.jp复制了个'お', 也不得行..
然后把范围扩大到^[/u2E80-/u9FFF]+$, 这样倒是都通过了, 这个应该就是匹配中日韩文字的正则表达式了, 包括我們臺灣省還在盲目使用的繁體中文
而关于中文的正则表达式, 应该是^[/u4E00-/u9FFF]+$, 和论坛里常被人提起的^[/u4E00-/u9FA5]+$很接近
需要注意的是论坛里说的^[/u4E00-/u9FA5]+$这是专门用于匹配简体中文的正则表达式, 实际上繁体字也在里面, 我用测试器测试了下'中華人民共和國', 也通过了, 当然, ^[/u4E00-/u9FFF]+$也是一样的结果
匹配双字节字符(包括汉字在内):[^x00-xff]
  评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
  匹配空白行的正则表达式:ns*r
  评注:可以用来删除空白行
  匹配HTML标记的正则表达式:<(S*?)[^>]*&gt;.*?|<.*? />
  评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
  匹配首尾空白字符的正则表达式:^s*|s*$
  评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
  匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
  评注:表单验证时很实用
请问:
1、这个是VB正则的资料吗?
  这里面很多像3400~4DFFh,是正则代码吗?如何用呢?
2、:^s*|s*$ ,ns*r
   等为什么悔不用转义符“\”写成^\s*|\s*$,\n\s*\r 呢?
  到底那种写法正确?
3、还有[^A-Z]和[!A-Z]那种写法正确?中括号里(紧靠座括号)的"^"和"!"都有"非"的意思,他们之间有分别嘛?到底那种表示是正确的?

TA的精华主题

TA的得分主题

发表于 2017-4-6 11:30 来自手机 | 显示全部楼层
本帖最后由 lss001 于 2017-4-6 12:02 编辑

1,以上资料是正则资料,但不通用
2,为什么不加\,不加\匹配自身,加\转义
3,在excel正则中只支持[^A-Z]写法,[!A-Z]是其它程序正则写法
最后还是要告诫
→不要认为正则万能
→更不要太依赖正则
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-13 08:02 , Processed in 0.028262 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表