掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 838|回复: 10

[求助] 几个关于正则表达式检索的问题

[复制链接]
  • TA的每日心情
    擦汗
    2023-2-15 04:29
  • 签到天数: 72 天

    [LV.6]常住居民II

    发表于 2019-12-9 22:13:19 | 显示全部楼层 |阅读模式
    本帖最后由 共同研习 于 2019-12-10 17:17 编辑
    ; |! _5 |2 Z$ p& W! y( S' e7 f3 K
    我使用的是emeditor,有时常规搜索不能满足需求,需要正则表达式,有几个问题我不懂,希望高人指教:/ D# \0 X  ?0 D1 Y( b/ a
    (1)给定两个字符(指定顺序)以及一个数字n,检索所有的行,要求包含这两个字符且两个字符间正好相隔n个字符。' K$ z- w8 A9 `# a, f, j
    (2)给定两个字符(指定顺序)以及一个数字n,检索所有的行,要求包含这两个字符且两个字符间隔不大于n个字符。5 d/ u1 g# h9 x0 ?
    (3)如何搜索包含“A一A”(笑一笑,跑一跑,等等)格式的行?---------------------5 k+ Y4 C3 _$ |
    感谢大家的回复
    4 k, z- v/ R8 E) g
  • TA的每日心情
    开心
    2019-5-18 22:39
  • 签到天数: 158 天

    [LV.7]常住居民III

    发表于 2019-12-9 22:50:53 | 显示全部楼层
    如果两个字符是 a 和 b
      m) i/ g% C7 i; g第1个:a.{n}b
    3 A4 y  b! r3 d; a, e3 f第2个:a.{0,n}b
    " e; j  O3 r1 ?第3个:(.)一\1) U7 w, j6 s0 a6 C
    严格一点,要求汉字的话就是 ([\x{4E00}-\x{9FFF}])一\1
    $ n3 `& E/ ?  ]% B3 D* W* J5 a9 R+ R  A
    前面两个不知道你要求严不严格:相隔的这 n 个字符中能不能有 a, b存在,能的话就是上面的,不能的话就是:a[^ab]{n}b

    评分

    1

    查看全部评分

    该用户从未签到

    发表于 2019-12-9 22:38:39 | 显示全部楼层
    “A一A”(笑一笑,跑一跑,等等)好像做不了
  • TA的每日心情
    奋斗
    2022-6-1 19:02
  • 签到天数: 377 天

    [LV.9]以坛为家II

    发表于 2019-12-9 22:50:58 | 显示全部楼层
    1和2,那个数字n套用在正则里的{m,n}里,很容易呀,比如:“你”和“好”,隔20个字符,你.{20}好
    ( d1 ?, G2 ~5 N" e8 K换行或者啥的按实际情况再考虑+ u. m1 A& v. R4 n  \
    3,没明白你的意思
  • TA的每日心情
    擦汗
    2023-2-15 04:29
  • 签到天数: 72 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-9 22:51:47 | 显示全部楼层
    感谢上面几位指教。改日我会自己试验。
  • TA的每日心情
    开心
    2020-1-5 08:04
  • 签到天数: 50 天

    [LV.5]常住居民I

    发表于 2019-12-9 22:51:50 | 显示全部楼层
    (3)如何搜索包含“A一A”(笑一笑,跑一跑,等等)格式的行?
    ; x6 O( Z( o& S4 b5 e2 f0 \3 T7 y, d8 F( \, i$ Y1 n- i' B
    (.)一\1
  • TA的每日心情
    擦汗
    2023-2-15 04:29
  • 签到天数: 72 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-9 22:52:49 | 显示全部楼层
    simonfire 发表于 2019-12-9 22:50
    $ n" D" z  T( W1和2,那个数字n套用在正则里的{m,n}里,很容易呀,比如:“你”和“好”,隔20个字符,你.{20}好
    7 V' |0 @7 U. U7 j换行或者 ...

    / ?2 |/ b" P: _6 o6 ]* M6 M! F9 x5 ?关于3,我的意思是说,把所有带“跑一跑”“笑一笑”“跳一跳”这种“字+“一”+字(前后相同)”的行筛出来,按照前面几位的意见似乎做不到。

    点评

    上面几乎都可以,是指正则表达式。你不太会用emeditor。新版的筛选功能太好了,还可以反向筛选。合乎或者不合乎条件的行,立马看得到。  发表于 2019-12-10 14:43
  • TA的每日心情
    开心
    2019-5-18 22:39
  • 签到天数: 158 天

    [LV.7]常住居民III

    发表于 2019-12-9 22:59:44 | 显示全部楼层
    共同研习 发表于 2019-12-9 22:525 S' v7 j9 |4 h1 @* z  x$ s6 d
    关于3,我的意思是说,把所有带“跑一跑”“笑一笑”“跳一跳”这种“字+“一”+字(前后相同)”的行筛 ...
      K; R" g! \7 C+ y  m# @
    你是要得到满足条件的行的行号这种或类似东西吗?
  • TA的每日心情
    奋斗
    2022-6-1 19:02
  • 签到天数: 377 天

    [LV.9]以坛为家II

    发表于 2019-12-9 23:19:37 | 显示全部楼层
    共同研习 发表于 2019-12-9 22:52
    . s' O, E. B; S3 i$ u( a" l关于3,我的意思是说,把所有带“跑一跑”“笑一笑”“跳一跳”这种“字+“一”+字(前后相同)”的行筛 ...
    2 G: M) w" t% W+ U) C
    ^.*?(.)一\1.*?\n\r
    ' I! {& r7 o* F- t: D4 Y5 \这个应该能匹配整行,不过细节部分还得自己把握呀,想学习就多试多看,都是这么过来的
  • TA的每日心情
    擦汗
    2023-2-15 04:29
  • 签到天数: 72 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-9 23:21:45 | 显示全部楼层
    simonfire 发表于 2019-12-9 23:19
    4 `% A6 |# e/ k; \! Q! ~^.*?(.)一\1.*?\n\r; x" w% i( @" z/ a, {
    这个应该能匹配整行,不过细节部分还得自己把握呀,想学习就多试多看,都是这么过来 ...

    " r$ ^/ P* {* U2 [# h: J! A; k6 R; `改日我会自己试验的。1 U) M2 P0 ]7 }; m; j/ c! Q6 ]! ~
    其实能匹配一行的一部分,利用书签功能,就相当于做到匹配行了。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-16 14:30 , Processed in 0.067979 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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