查看: 821|回复: 7
打印 上一主题 下一主题

[求助] 正则表达式请教

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

    [LV.5]常住居民I

    11

    主题

    205

    回帖

    1618

    积分

    解元

    Rank: 5Rank: 5

    积分
    1618
    跳转到指定楼层
    1
    发表于 2019-11-9 01:25:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    我使用安卓手机上Anki Helper这个软件时(https://github.com/mmjang/ankihelper),由于它对西班牙语支持不好,根据主页的介绍,想做一个西英词典。由于缺乏基础,前几天得到的比较详尽的西语词典无法改造,只有一本手头的vox口袋词典和要求详尽。我已经手动、自动删除了一些内容,但是到了这个地方难住了:
    <p class="indenthanging"><strong>adelantamiento</strong> <em>nm</em> overtaking.
    &nbsp; <font size='1' >•</font><strong>hacer un adelantamiento</strong> to overtake.
    <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
    因为根据该软件需求,只能使用制表符分割单词和释义,不知道以上办法可不可以把单词和解释分成两部分?可是一个词条下面又分成多行,该怎么办?
    另外,我手动删除了三百多处冗余,但是这并不是好办法。即<a id="page_Vol(不同编号)"/>,请问这个地方可以一起用表达式删掉吗?
    请论坛大神指教。
  • TA的每日心情
    开心
    前天 18:05
  • 签到天数: 708 天

    [LV.9]以坛为家II

    28

    主题

    1178

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    27051
    推荐
    发表于 2019-11-10 10:20:58 | 只看该作者
    宁冷越 发表于 2019-11-9 22:51
    顺便请教一下,要写一个这样的程序,需要学习哪些编程知识,比如哪种编程语言?谢谢。 ...

    要想快速写出这种程序,学学Python基础知识和正则表达式的库就行

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    前天 18:05
  • 签到天数: 708 天

    [LV.9]以坛为家II

    28

    主题

    1178

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    27051
    推荐
    发表于 2019-11-9 19:18:21 | 只看该作者
    mrfu 发表于 2019-11-9 14:58
    多谢多谢!!!在这还有一个问题请教,mdx词典导出成txt后,都是词头加上一个link,然后到词条,有什么办 ...

    这个需要写一个程序来实现,取@@@LINK跳转的词的意项,然后组合
  • TA的每日心情
    奋斗
    2020-12-22 18:46
  • 签到天数: 43 天

    [LV.5]常住居民I

    11

    主题

    205

    回帖

    1618

    积分

    解元

    Rank: 5Rank: 5

    积分
    1618
    2
     楼主| 发表于 2019-11-9 01:31:56 | 只看该作者
    是不是需要先去掉所有的换行符,然后在上述红色的地方前面再加一个换行符,这样保证每个词条只占一行?
  • TA的每日心情
    开心
    前天 18:05
  • 签到天数: 708 天

    [LV.9]以坛为家II

    28

    主题

    1178

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    27051
    3
    发表于 2019-11-9 07:18:35 | 只看该作者
    你说的都可以用正则实现,先去学学正则吧  推荐:https://deerchao.cn/tutorials/regex/regex.htm

    第一个:
    替换  <p class="indenthanging"><strong>(.*?)</strong>

    为  \1\t

    第二个:
    替换: <a id="page_Vol[^"]*"/>

    为   空字符
  • TA的每日心情
    奋斗
    2020-12-22 18:46
  • 签到天数: 43 天

    [LV.5]常住居民I

    11

    主题

    205

    回帖

    1618

    积分

    解元

    Rank: 5Rank: 5

    积分
    1618
    4
     楼主| 发表于 2019-11-9 14:58:55 | 只看该作者
    nullname 发表于 2019-11-9 07:18
    你说的都可以用正则实现,先去学学正则吧  推荐:https://deerchao.cn/tutorials/regex/regex.htm

    第一个 ...

    多谢多谢!!!在这还有一个问题请教,mdx词典导出成txt后,都是词头加上一个link,然后到词条,有什么办法取消link,直接把词头和词条放在一起呢?
  • TA的每日心情
    擦汗
    6 天前
  • 签到天数: 147 天

    [LV.7]常住居民III

    11

    主题

    434

    回帖

    3794

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3794
    6
    发表于 2019-11-9 22:51:30 | 只看该作者
    nullname 发表于 2019-11-9 19:18
    这个需要写一个程序来实现,取@@@LINK跳转的词的意项,然后组合

    顺便请教一下,要写一个这样的程序,需要学习哪些编程知识,比如哪种编程语言?谢谢。
  • TA的每日心情
    擦汗
    6 天前
  • 签到天数: 147 天

    [LV.7]常住居民III

    11

    主题

    434

    回帖

    3794

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3794
    8
    发表于 2019-11-10 15:42:06 | 只看该作者
    nullname 发表于 2019-11-10 10:20
    要想快速写出这种程序,学学Python基础知识和正则表达式的库就行

    好的,谢谢你。