掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1104|回复: 7

[求助] 正则表达式请教

[复制链接]
  • TA的每日心情
    奋斗
    2020-12-22 18:46
  • 签到天数: 43 天

    [LV.5]常住居民I

    发表于 2019-11-9 01:25:42 | 显示全部楼层 |阅读模式
    我使用安卓手机上Anki Helper这个软件时(https://github.com/mmjang/ankihelper),由于它对西班牙语支持不好,根据主页的介绍,想做一个西英词典。由于缺乏基础,前几天得到的比较详尽的西语词典无法改造,只有一本手头的vox口袋词典和要求详尽。我已经手动、自动删除了一些内容,但是到了这个地方难住了:
    8 H& S4 S! i8 Z, F: r" |
    <p class="indenthanging"><strong>adelantamiento</strong> <em>nm</em> overtaking.
    ; J2 G5 k5 e' c, I; z&nbsp; <font size='1' >•</font><strong>hacer un adelantamiento</strong> to overtake.9 w" O: O5 Z! Y2 x! o8 B$ 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
    ) V! D% S( e- J因为根据该软件需求,只能使用制表符分割单词和释义,不知道以上办法可不可以把单词和解释分成两部分?可是一个词条下面又分成多行,该怎么办?, Y/ `5 f4 ~5 U; v& ~/ ~8 D6 P
    另外,我手动删除了三百多处冗余,但是这并不是好办法。即<a id="page_Vol(不同编号)"/>,请问这个地方可以一起用表达式删掉吗?
    $ ^# }) v: K+ j$ u# S请论坛大神指教。
      S. r; A% _# z* \) r& @
  • TA的每日心情
    开心
    2023-9-27 20:45
  • 签到天数: 847 天

    [LV.10]以坛为家III

    发表于 2019-11-10 10:20:58 | 显示全部楼层
    宁冷越 发表于 2019-11-9 22:51
    8 G0 V" A$ Y2 k# s/ p) o顺便请教一下,要写一个这样的程序,需要学习哪些编程知识,比如哪种编程语言?谢谢。 ...
    4 z% Z& s2 y* w
    要想快速写出这种程序,学学Python基础知识和正则表达式的库就行

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2023-9-27 20:45
  • 签到天数: 847 天

    [LV.10]以坛为家III

    发表于 2019-11-9 19:18:21 | 显示全部楼层
    mrfu 发表于 2019-11-9 14:58
    : ?2 t0 y! H- u* i0 {多谢多谢!!!在这还有一个问题请教,mdx词典导出成txt后,都是词头加上一个link,然后到词条,有什么办 ...

    8 K6 |) u" ^; M; J3 X8 [这个需要写一个程序来实现,取@@@LINK跳转的词的意项,然后组合
  • TA的每日心情
    奋斗
    2020-12-22 18:46
  • 签到天数: 43 天

    [LV.5]常住居民I

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

    [LV.10]以坛为家III

    发表于 2019-11-9 07:18:35 | 显示全部楼层
    你说的都可以用正则实现,先去学学正则吧  推荐:https://deerchao.cn/tutorials/regex/regex.htm
    . s* V1 O( h/ d+ {9 ~. @) v0 }7 S8 `$ ^$ r; j: E) w9 v7 A
    第一个:
    ; I6 Z, d* [4 t$ z替换  <p class="indenthanging"><strong>(.*?)</strong>1 R1 ?) F/ l. A' L2 k$ N0 e; Y

    1 P$ Q4 J1 P3 d5 c3 ]0 t为  \1\t' X9 B$ h" T# G
    $ P! U4 L! n& N* N. s
    第二个:( Q- D7 H* A# p! r: P2 L, C
    替换: <a id="page_Vol[^"]*"/>
    ! c; R; `9 ~6 p4 @/ c8 t/ ]5 g) Y
    $ o/ I7 K9 c6 V! {* T为   空字符
  • TA的每日心情
    奋斗
    2020-12-22 18:46
  • 签到天数: 43 天

    [LV.5]常住居民I

     楼主| 发表于 2019-11-9 14:58:55 | 显示全部楼层
    nullname 发表于 2019-11-9 07:18
    * J. d7 W, W/ P6 k% Y' T' M你说的都可以用正则实现,先去学学正则吧  推荐:https://deerchao.cn/tutorials/regex/regex.htm
    . U# [; }- P. B6 s5 A: T. {: D6 q# P: F3 ]' \1 \* N- c! Y* y
    第一个 ...
    3 b: M5 n# q" L. o
    多谢多谢!!!在这还有一个问题请教,mdx词典导出成txt后,都是词头加上一个link,然后到词条,有什么办法取消link,直接把词头和词条放在一起呢?
  • TA的每日心情
    擦汗
    2023-3-25 13:49
  • 签到天数: 147 天

    [LV.7]常住居民III

    发表于 2019-11-9 22:51:30 | 显示全部楼层
    nullname 发表于 2019-11-9 19:18
    ) J, h7 @- C* M: N1 O6 Z  G: ^这个需要写一个程序来实现,取@@@LINK跳转的词的意项,然后组合
    * G2 `" s+ J5 j) k
    顺便请教一下,要写一个这样的程序,需要学习哪些编程知识,比如哪种编程语言?谢谢。
  • TA的每日心情
    擦汗
    2023-3-25 13:49
  • 签到天数: 147 天

    [LV.7]常住居民III

    发表于 2019-11-10 15:42:06 | 显示全部楼层
    nullname 发表于 2019-11-10 10:20
    % g9 B8 u! h- x/ u要想快速写出这种程序,学学Python基础知识和正则表达式的库就行

    ) l. N) y) U" r8 ?好的,谢谢你。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-3-29 01:47 , Processed in 0.032829 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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