掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1157|回复: 10

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

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

    [LV.6]常住居民II

    发表于 2019-12-9 22:13:19 | 显示全部楼层 |阅读模式
    本帖最后由 共同研习 于 2019-12-10 17:17 编辑 ' |$ P3 `1 D$ C7 k+ u6 l

    2 e( y  z7 G1 o+ s+ G/ B2 k我使用的是emeditor,有时常规搜索不能满足需求,需要正则表达式,有几个问题我不懂,希望高人指教:% P/ w* C* K# M/ K1 [- U& T2 c$ Q6 s
    (1)给定两个字符(指定顺序)以及一个数字n,检索所有的行,要求包含这两个字符且两个字符间正好相隔n个字符。
    - U3 f- Q# Q' `(2)给定两个字符(指定顺序)以及一个数字n,检索所有的行,要求包含这两个字符且两个字符间隔不大于n个字符。2 P8 y! }) ~% @, I% ~5 J( g
    (3)如何搜索包含“A一A”(笑一笑,跑一跑,等等)格式的行?---------------------
    6 J% I4 [. v$ O( G2 z4 K感谢大家的回复! l) w5 Z  J0 Y( {
  • TA的每日心情
    开心
    2019-5-18 22:39
  • 签到天数: 158 天

    [LV.7]常住居民III

    发表于 2019-12-9 22:50:53 | 显示全部楼层
    如果两个字符是 a 和 b
    & E1 J. z0 A, r$ U) X第1个:a.{n}b
    ! Z6 a  N2 T/ }6 p; F第2个:a.{0,n}b
    4 k' R+ Z2 N7 t# V% O. _第3个:(.)一\1
    / }: O4 o$ r6 ~: |4 _7 S严格一点,要求汉字的话就是 ([\x{4E00}-\x{9FFF}])一\1
    : `! k& ^2 E; L1 }, I
    2 a5 I2 {6 \# ?4 M前面两个不知道你要求严不严格:相隔的这 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}好
    1 C, P0 i9 |4 ]7 O  [" i) o0 [; l换行或者啥的按实际情况再考虑
    * J8 a8 |0 y( L9 T' F3,没明白你的意思
  • 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”(笑一笑,跑一跑,等等)格式的行?; e5 Y# c6 g) ?; I
    . ?7 }' W: M" u! z
    (.)一\1
  • TA的每日心情
    擦汗
    2023-2-15 04:29
  • 签到天数: 72 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-9 22:52:49 | 显示全部楼层
    simonfire 发表于 2019-12-9 22:50
    - n  A2 r1 {) e* z1和2,那个数字n套用在正则里的{m,n}里,很容易呀,比如:“你”和“好”,隔20个字符,你.{20}好8 s! p0 n  o- H6 z* P( A: U  I
    换行或者 ...
    6 W  n: q  S& C6 Y  S# l6 M
    关于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:52
    % X' b  @4 C& n& s% o; C. J- p关于3,我的意思是说,把所有带“跑一跑”“笑一笑”“跳一跳”这种“字+“一”+字(前后相同)”的行筛 ...
    1 W( g3 x- {- ?0 f$ U! l" G6 K4 p
    你是要得到满足条件的行的行号这种或类似东西吗?
  • TA的每日心情
    奋斗
    2022-6-1 19:02
  • 签到天数: 377 天

    [LV.9]以坛为家II

    发表于 2019-12-9 23:19:37 | 显示全部楼层
    共同研习 发表于 2019-12-9 22:52
    9 E- K0 s0 ?8 {! q2 ?5 ]9 A0 s  K关于3,我的意思是说,把所有带“跑一跑”“笑一笑”“跳一跳”这种“字+“一”+字(前后相同)”的行筛 ...
    2 Q" Q$ t. _6 k; t% b& H! T
    ^.*?(.)一\1.*?\n\r0 f  Y; a% F6 L1 N: V7 X% ?' T
    这个应该能匹配整行,不过细节部分还得自己把握呀,想学习就多试多看,都是这么过来的
  • TA的每日心情
    擦汗
    2023-2-15 04:29
  • 签到天数: 72 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-9 23:21:45 | 显示全部楼层
    simonfire 发表于 2019-12-9 23:19
    $ G1 \" @$ `3 M: W# E^.*?(.)一\1.*?\n\r0 a# n; V0 F( K% p* N& N4 S  x
    这个应该能匹配整行,不过细节部分还得自己把握呀,想学习就多试多看,都是这么过来 ...
    * w7 |- V5 Q$ K$ M7 B, a
    改日我会自己试验的。4 I5 \& a. q7 a8 y% ]* w- p
    其实能匹配一行的一部分,利用书签功能,就相当于做到匹配行了。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-5-6 22:33 , Processed in 0.022252 second(s), 23 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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