掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 462|回复: 2

[求助] [求助]正則替換

[复制链接]

该用户从未签到

发表于 2016-7-1 17:49:11 | 显示全部楼层 |阅读模式
大家好,小弟剛到這個論壇,看了一些教學,也動手轉換了一個 Mac 內建字典軟件可用的詞典,但遇到了一些問題( J! X% r& e/ O, {# h9 B1 K1 N

- y, r7 k' l4 L, K4 y! D我主要是參考這篇 https://pdawiki.com/forum/forum.php?mod=viewthread&tid=13014 的教學轉換的,但有稍微更動一下,因為 Mac OS X 10.11.5 有些部分無法適用,之後我會嘗試把我的經驗做一個分享
) |; G( C- z6 S/ G2 r7 b5 s7 o9 O2 u& ]0 a
我轉換的依據是這篇 https://pdawiki.com/forum/forum.php?mod=viewthread&tid=14881 的牛津高階中英英漢繁體版
; W. L) {9 ^* L8 B
) M5 @9 t* y# i1 i9 P並依據 qunwang6 MAC OSX词典转换笔记的細節部分進修改,才能在如下圖點按 toffee apple 時,能跳轉到這個詞  @# N/ b2 e# }, m6 C6 e4 S

7 I4 U2 N% V/ w+ `2 f# D% [3 L7 h7 Q/ ?但修改的內容稍稍有不同,無法像轉換筆記那樣改
5 l1 b; t- y$ r0 A8 M8 y7 ]0 Q& X0 Q$ y1 o/ Q
下面是想要修改的:8 s& O# _: n& H$ {+ y
<d:entry id="_1t5y" d:title="toffee apple">1 t' }; f/ t2 W5 {( ?
<d:entry id="_1zi1" d:title="…and then some">
$ B* z' x, e  W: b$ q; [6 {5 r5 A' j+ p! F<d:entry id="_1" d:title="$100, £50, etc. a throw">
, ~9 |% Y! L. j( S' q5 A. J( t4 v$ T  B) d5 t5 {0 k+ o
想修改為
1 H$ \$ K$ D+ e/ R" q% ~2 N<d:entry id="toffee_apple">
7 ?4 Q3 j1 ^  Y5 z* I4 R$ P* ]4 h<d:entry id="…and_then_some">. M# f) h: Y7 C  g  Y
<d:entry id="$100,_£50,_etc._a_throw">
- x- P! w1 B4 f3 }
2 G! P- e/ ?; z: V; K# l不知道有沒有先進能指點我利用正則替換的方式修改,非常謝謝
. r; X6 U# u: ~; b- v& I
6 x6 u; L, d) m
; t! x% [& I4 N9 p( x3 V另外,我依著 (href="x-dictionary:r:[^"]+)\s替换为\1_ 這段正則式替換 <a href="x-dictionary:r:right of abode">right of abode</a>; S9 B/ ]! g2 y  \: l9 @
結果為 <a href="x-dictionary:r:right of_abode">
+ r6 t2 b+ r% U& K/ S而非<a href="x-dictionary:r:right_of_abode">3 v" M1 ?* u6 j; @
也就是right 跟 of 之間少了一個底線,也希望有高手能指點我一下
/ y1 b2 ?; P9 g5 T4 }- T再次謝謝; N5 W1 o  F6 R- @' P7 i7 n

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

该用户从未签到

发表于 2016-7-2 00:39:54 | 显示全部楼层
粗略的看了下,不同的文本编辑软件支持的正则表达式可能有所区别,你先试试看下面的吧。3 E, E* o8 h/ D; g& K
第一个0 M2 k, h. z1 S1 t; _& H
(<d:entry id=)".*?" d:title=(".*?">)
2 N2 Y. }* w! D7 x! V( y0 G5 w\1\2
1 ^( T: z: j+ R) f9 V
! l. |/ V/ n1 f! I/ D, C第二个我不是很明白你的意思,是不是
3 ?. z8 o; Z3 U" ^<a href="x-dictionary:r:之后
/ j, m' T5 Q4 G9 f, W* B" _">之前
: a$ n# ]3 e0 I$ A9 P1 s如果有空格的地方就把空格替换成_
2 X% t+ W" V4 _+ J如果是这个意思的话那可以这样写:
9 h4 ~) n' }* a( @. g, e# w(<a href="x-dictionary:r:.*?) (.*?")5 q7 n& l4 A# `; O! x
\1_\2
' K' R* P7 ]+ [& G4 R(多次替换直到完成)
5 T" _- p. T; {
, R0 T) e& D$ i  G+ t

该用户从未签到

 楼主| 发表于 2016-7-3 10:13:51 | 显示全部楼层
謝謝您了,我試試看,成功後會上來告知!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-5-8 04:15 , Processed in 0.020793 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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