掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1228|回复: 12

[求助] ultraedit 正则表达式 求助!!

[复制链接]

该用户从未签到

发表于 2009-4-16 12:14:39 | 显示全部楼层 |阅读模式
在ultraedit里面正则表达式如何表示汉语拼音?也就是说如何表示   “ 逾期  yú qī;超过所规定的期限;  ”
+ I& U; e6 j! }1 f# I* `9 S- G里面的yú qī?

该用户从未签到

发表于 2009-4-16 12:19:27 | 显示全部楼层
这个比较困难,需要找出更多的特征才行。 例如是不是一定是 空格+音标+分号?

该用户从未签到

 楼主| 发表于 2009-4-16 12:48:54 | 显示全部楼层

回复 2楼 rayman 的帖子

拼音前面可能有其他符号,但是拼音后面都有一个分号(中文输入状态下的分号)。

该用户从未签到

发表于 2009-4-16 13:28:03 | 显示全部楼层
1,把中文分号全部替换为英文分号;2 K7 l4 \' P# y7 p1 |
2,查找(\b\w*?[úī]\w*\b ?)+(?=;)* {. u' Q" i5 {
3,注意,请在2中方括号[ ]里面添加所有汉语拼音的声调。

该用户从未签到

 楼主| 发表于 2009-4-16 14:50:44 | 显示全部楼层
谢谢楼上。2 V; u8 e. Q. r8 @# s
其实我想做的是将像“ 逾期  yú qī;超过所规定的期限;  ”(没有双引号) 这种表达式里面的汉语拼音后面的“;”(分号)转换成<br/>. 因为他的解释里面也有 “;”(分号),不能通过简单的查找/替换的方法实现。所以想通过ultraedit的正则表达式将拼音后面的分号转换,而不转换其他地方的分号。
1 c5 J# |, O2 b5 b3 u对正则表达式也不熟,希望高手能帮忙!8 `. ]- w" I5 q2 v
谢谢!

该用户从未签到

发表于 2009-4-18 00:25:05 | 显示全部楼层
把([úī]);替换为$1<BR>

该用户从未签到

 楼主| 发表于 2009-4-18 23:07:58 | 显示全部楼层

回复 6楼 zcm1019 的帖子

我换成  ”\b\w*?$1<BR>\w*\b ?)+(?=;  ”(无双引号)提示搜索字符串未找到。# n* z' @+ e$ ?9 Z. E  \; Y" t5 D
难道这里有错误吗?

该用户从未签到

发表于 2009-4-19 16:21:56 | 显示全部楼层
是的,我说的替换是指在replace栏里面输入$1<BR>,在find栏里面输入([úī]);  其中要把所有可能出现在拼音末尾的字符添加到 [ ] 里面。

该用户从未签到

 楼主| 发表于 2009-4-19 18:19:15 | 显示全部楼层

回复 8楼 zcm1019 的帖子

谢谢!
youweiwu 该用户已被删除
发表于 2009-4-20 13:53:27 | 显示全部楼层
在正则表达式工具中测试zcm1019的表达式,可行;在ue中却不能通过,为何?8 E3 f/ k( a7 L. a3 [5 j$ P$ ~2 T# [
修改成这样就可以了——
, A) ^3 j& q# M3 ^  G7 D正则表达式引擎:perl
' D5 I0 N6 U8 A2 F  G查找:([āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑńňaoeiu]+?\w*?);
/ y( c( h+ I) s. ~替换:\1<BR>
youweiwu 该用户已被删除
发表于 2009-4-20 14:07:07 | 显示全部楼层
原帖由 zcm1019 于 2009-4-16 13:28 发表 1 x: E  _( P5 A/ \2 f- C/ n
1,把中文分号全部替换为英文分号;
! z2 F* E) \3 f7 `  v/ l2,查找(\b\w*?[úī]\w*\b ?)+(?=;)6 @+ ?3 I$ e- `! k& p
3,注意,请在2中方括号[ ]里面添加所有汉语拼音的声调。
$ Z# A5 B/ X; c+ o3 o. S) E0 p
修改成(\b\w*?[úī]\w* ?\b)+(?=;)在ue中仍不能通过。

该用户从未签到

 楼主| 发表于 2009-4-20 14:57:58 | 显示全部楼层
感谢zcm1019和youweiwu的帮忙!
4 Z9 G1 W% j1 m0 i" H- x按10楼的) ]5 C, N* q  {; b/ b9 Z
正则表达式引擎:perl, L& K& \* R% g# X# M
查找:([āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑńňaoeiu]+?\w*?);. j( E1 ~; T6 F5 p
替换:\1

7 N/ {9 q& H' q4 s这个方法可以进行转换。: Q0 h) m3 {- o0 r6 j1 `9 E
多谢两位!
youweiwu 该用户已被删除
发表于 2009-4-20 15:02:47 | 显示全部楼层
最近在学习正则表达式,拿来练练,不客气。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

小黑屋|手机版|Archiver|PDAWIKI |网站地图

GMT+8, 2025-5-4 17:39 , Processed in 0.038722 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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