掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 276|回复: 7

[求助] 正则表达式请教

[复制链接]
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2019-11-9 01:25:42 | 显示全部楼层 |阅读模式
    我使用安卓手机上Anki Helper这个软件时(https://github.com/mmjang/ankihelper),由于它对西班牙语支持不好,根据主页的介绍,想做一个西英词典。由于缺乏基础,前几天得到的比较详尽的西语词典无法改造,只有一本手头的vox口袋词典和要求详尽。我已经手动、自动删除了一些内容,但是到了这个地方难住了:
    6 E5 h  x3 ~) E2 u
    <p class="indenthanging"><strong>adelantamiento</strong> <em>nm</em> overtaking.
    + g: g5 t4 \  g5 i&nbsp; <font size='1' >•</font><strong>hacer un adelantamiento</strong> to overtake.# N0 X- b4 F; G( D
    <p class="indenthanging"><strong>adelantar</strong> <em>vt</em> <strong>1</strong> <em>(mover adelante)</em> to move forward. <strong>2</strong> <em>(reloj)</em> to put forward. <strong>3</strong> <em>(pasar adelante)</em> to pass; <em>(vehículo)</em> to overtake. <strong>4</strong> <em>(dinero)</em> to pay in advance [<em>pt &amp; pp</em> <strong>paid</strong>].
    如何把上述的蓝色词条留下,红色删除,并在词条后面添加一个制表符(\t)呢?即变成adelantamiento\t) [$ e& @* q% Y. ^  C
    因为根据该软件需求,只能使用制表符分割单词和释义,不知道以上办法可不可以把单词和解释分成两部分?可是一个词条下面又分成多行,该怎么办?6 t& Q& g- }; z. n
    另外,我手动删除了三百多处冗余,但是这并不是好办法。即<a id="page_Vol(不同编号)"/>,请问这个地方可以一起用表达式删掉吗?
    9 T$ c4 g0 @6 i; {+ f! A) Q" A请论坛大神指教。7 J8 g$ ^9 i/ {# K8 S: V
  • TA的每日心情

    2020-2-1 11:57
  • 签到天数: 515 天

    [LV.9]以坛为家II

    发表于 2019-11-10 10:20:58 | 显示全部楼层
    宁冷越 发表于 2019-11-9 22:51
    0 d" k2 {0 f& x1 l* a顺便请教一下,要写一个这样的程序,需要学习哪些编程知识,比如哪种编程语言?谢谢。 ...

    : D# Z" d4 y  }/ p6 H要想快速写出这种程序,学学Python基础知识和正则表达式的库就行

    评分

    1

    查看全部评分

  • TA的每日心情

    2020-2-1 11:57
  • 签到天数: 515 天

    [LV.9]以坛为家II

    发表于 2019-11-9 19:18:21 | 显示全部楼层
    mrfu 发表于 2019-11-9 14:58' a) }) S/ J. Z/ a$ E" v8 K( Y
    多谢多谢!!!在这还有一个问题请教,mdx词典导出成txt后,都是词头加上一个link,然后到词条,有什么办 ...

    7 }1 f9 F, r" s! {6 Y这个需要写一个程序来实现,取@@@LINK跳转的词的意项,然后组合
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 37 天

    [LV.5]常住居民I

     楼主| 发表于 2019-11-9 01:31:56 | 显示全部楼层
    是不是需要先去掉所有的换行符,然后在上述红色的地方前面再加一个换行符,这样保证每个词条只占一行?
  • TA的每日心情

    2020-2-1 11:57
  • 签到天数: 515 天

    [LV.9]以坛为家II

    发表于 2019-11-9 07:18:35 | 显示全部楼层
    你说的都可以用正则实现,先去学学正则吧  推荐:https://deerchao.cn/tutorials/regex/regex.htm
    , ?2 f& ]6 @4 p/ ?/ r# d; r0 \  m0 [- c, S  e
    第一个:6 k' i. E6 M8 k1 I+ }5 }
    替换  <p class="indenthanging"><strong>(.*?)</strong>
    * W+ z4 ^5 S0 D; {2 Q5 d, Q8 b. N
    + I9 L& E0 c! S* b2 j8 `为  \1\t9 T0 L% \% |( V% Q( n
    + q% g  J4 [2 M4 }
    第二个:
    $ v8 ^6 q- t7 R  @  `替换: <a id="page_Vol[^"]*"/>
    / F+ K) s. Q- F6 D7 @. ~  y3 Q% l3 I
    为   空字符
  • TA的每日心情
    慵懒
    4 天前
  • 签到天数: 37 天

    [LV.5]常住居民I

     楼主| 发表于 2019-11-9 14:58:55 | 显示全部楼层
    nullname 发表于 2019-11-9 07:18; `1 @/ s1 a: g2 w' k
    你说的都可以用正则实现,先去学学正则吧  推荐:https://deerchao.cn/tutorials/regex/regex.htm+ k$ g3 g& H4 J5 y! J: n8 s8 O& H) G

    : D8 Q% p2 e+ _! n. j7 c0 \8 o第一个 ...
    3 r8 u* I7 g' n/ t. ~
    多谢多谢!!!在这还有一个问题请教,mdx词典导出成txt后,都是词头加上一个link,然后到词条,有什么办法取消link,直接把词头和词条放在一起呢?
  • TA的每日心情
    奋斗
    2020-1-5 23:35
  • 签到天数: 31 天

    [LV.5]常住居民I

    发表于 2019-11-9 22:51:30 | 显示全部楼层
    nullname 发表于 2019-11-9 19:18
    / ~/ g+ t4 b: e# Y这个需要写一个程序来实现,取@@@LINK跳转的词的意项,然后组合

    5 U" Z2 @( ]. Y* M6 q顺便请教一下,要写一个这样的程序,需要学习哪些编程知识,比如哪种编程语言?谢谢。
  • TA的每日心情
    奋斗
    2020-1-5 23:35
  • 签到天数: 31 天

    [LV.5]常住居民I

    发表于 2019-11-10 15:42:06 | 显示全部楼层
    nullname 发表于 2019-11-10 10:200 o  D1 D. @( G2 B% i0 T9 I' e2 K
    要想快速写出这种程序,学学Python基础知识和正则表达式的库就行
    - P/ R) X6 `+ H+ ]5 i# I- P
    好的,谢谢你。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    顶部qrcode底部
    关注公众号送论坛充值码
    关注微信公众平台
    关注微信公众号 pdawiki,获取邀请码,看文抢积分,抽奖得浮云! Follow our Wechat official account "pdawiki", get invitation codes, and play the lottery to earn points (积分)!

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

    GMT+8, 2020-2-29 17:13 , Processed in 0.146936 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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