找回密码
 注册
Simdroid-非首页
查看: 96|回复: 0

【原创】正则表达式中符号的表示

[复制链接]
发表于 2009-5-18 20:02:52 | 显示全部楼层 |阅读模式 来自 浙江杭州
本帖最后由 messenger 于 2009-5-21 22:35 编辑

最近在用matlab中的正则表达式,感觉虽然正则表达式很多设置是基于英文来设计的,但是在对中文的处理中也是很好用的。在使用过程中发现中文这方面的资料很少,而help中有些地方表述的并不完全。例如在语句中查找括号“(”,需要用到十六进制  \xN or \x{N}  表示。但是括号这些符号究竟对应于哪个十六进制数却没有说明。研究了一会儿终于发现,这个十六进制数是符号对应的ascII码转化成的。这里和大家分享一下。
例如:将语句中小括号内的语句去掉:
str='潮王路225号红(石中央)大厦(14层)1401-1403、15层'
regexprep(str,'\x28\w+\x29','')

ans =

潮王路225号红大厦1401-1403、15层

注意句中的符号是英文的,中文的需要查处其相对应的ASCII码,然后转换成16进制。例如:
str='潮王路225号红(石中央)大厦(14层)1401-1403、15层'
>> regexprep(str,'\xFF08\w+\x29','')

ans =

潮王路225号红大厦(14层)1401-1403、15层

以后心得多的话再给大家详细总结正则表达式的中文应用。

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 09:27 , Processed in 0.036969 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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