掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1157|回复: 12

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

[复制链接]

该用户从未签到

发表于 2009-4-16 12:14:39 | 显示全部楼层 |阅读模式
在ultraedit里面正则表达式如何表示汉语拼音?也就是说如何表示   “ 逾期  yú qī;超过所规定的期限;  ”
$ C+ ]" O  g, s1 s% I里面的yú qī?

该用户从未签到

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

该用户从未签到

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

回复 2楼 rayman 的帖子

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

该用户从未签到

发表于 2009-4-16 13:28:03 | 显示全部楼层
1,把中文分号全部替换为英文分号;
: ^8 P8 q8 ^! q  [2,查找(\b\w*?[úī]\w*\b ?)+(?=;)
, T5 b3 a6 a8 j: [8 d& y5 H( m3,注意,请在2中方括号[ ]里面添加所有汉语拼音的声调。

该用户从未签到

 楼主| 发表于 2009-4-16 14:50:44 | 显示全部楼层
谢谢楼上。9 B% B& _& T" O3 J5 X
其实我想做的是将像“ 逾期  yú qī;超过所规定的期限;  ”(没有双引号) 这种表达式里面的汉语拼音后面的“;”(分号)转换成<br/>. 因为他的解释里面也有 “;”(分号),不能通过简单的查找/替换的方法实现。所以想通过ultraedit的正则表达式将拼音后面的分号转换,而不转换其他地方的分号。
1 i; Z  z# ^5 T+ z对正则表达式也不熟,希望高手能帮忙!
/ H3 n% _1 z3 ]2 Q谢谢!

该用户从未签到

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

该用户从未签到

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

回复 6楼 zcm1019 的帖子

我换成  ”\b\w*?$1<BR>\w*\b ?)+(?=;  ”(无双引号)提示搜索字符串未找到。7 y/ u; b% a4 s- D4 m
难道这里有错误吗?

该用户从未签到

发表于 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中却不能通过,为何?  u# W: V- K# m1 Y+ g! p* E" x
修改成这样就可以了——
& p# m/ b$ P  ~6 I2 q& r% Y正则表达式引擎:perl
& `- Y8 d8 Y" u/ f查找:([āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑńňaoeiu]+?\w*?);: F+ |) o! F: L7 `) y% D3 \
替换:\1<BR>
youweiwu 该用户已被删除
发表于 2009-4-20 14:07:07 | 显示全部楼层
原帖由 zcm1019 于 2009-4-16 13:28 发表
- g2 a( J2 j: v9 Z1,把中文分号全部替换为英文分号;
- m1 Y' ]! F) c2,查找(\b\w*?[úī]\w*\b ?)+(?=;)
, G+ v  |* T) K! z2 _$ W# O3,注意,请在2中方括号[ ]里面添加所有汉语拼音的声调。

: _' \: w. Y5 c, T$ U5 }修改成(\b\w*?[úī]\w* ?\b)+(?=;)在ue中仍不能通过。

该用户从未签到

 楼主| 发表于 2009-4-20 14:57:58 | 显示全部楼层
感谢zcm1019和youweiwu的帮忙!/ W. \; x" d: d/ x0 [
按10楼的
' t& n" j- e, O- ]* _) P5 _
正则表达式引擎:perl# i/ U( Z# Q$ Y! @" x( v1 }$ t
查找:([āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑńňaoeiu]+?\w*?);4 V' f. W: F% x- s) W/ t# J' W
替换:\1
$ U8 Z1 M. h9 \" [3 }0 V
这个方法可以进行转换。
7 F! `) k6 |9 t* w# u8 ~多谢两位!
youweiwu 该用户已被删除
发表于 2009-4-20 15:02:47 | 显示全部楼层
最近在学习正则表达式,拿来练练,不客气。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-4-21 17:06 , Processed in 0.036814 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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