查看: 197|回复: 2
打印 上一主题 下一主题

[求助] 如何使EmEditor正则匹配消耗掉所有匹配字符继续下一匹配?

[复制链接]
  • TA的每日心情
    擦汗
    2020-7-3 13:51
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    90

    主题

    277

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10032
    跳转到指定楼层
    1
    发表于 2021-2-4 17:22:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    例:
    字符串:abcdef
    正则表达式:[a-z]{3}

    在EmEditor中光标定位到最前面从开头开始匹配。第一次匹配到abc,第二次匹配到bcd, 第三次匹配到cde, 第四次匹配到def

    可以发现,每次匹配成功后,EmEditor仅仅是机械地往前挪动一个字符的位置开始下一次匹配。

    而一般其他的文本编辑器都会将上次匹配到所有的字符统统消耗掉再进行下一次匹配。

    比如Notepad++,第一次匹配到abc,第二次匹配到def, 仅两次匹配就结束了。

    如何在在EmEditor中设置也能达到Notepad++中的效果?
  • TA的每日心情
    擦汗
    2020-7-3 13:51
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    90

    主题

    277

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10032
    2
     楼主| 发表于 2021-2-6 13:35:06 | 只看该作者
    我不大相信EmEditor如此强悍的工具竟然会连这个最基本的功能都没有,一定是哪里可以设置的。有朋友知道吗?
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    3

    主题

    461

    回帖

    1952

    积分

    解元

    Rank: 5Rank: 5

    积分
    1952
    3
    发表于 2021-2-6 13:56:48 | 只看该作者
    4、(?>Pattern)等同于侵占模式

    匹配成功不进行回溯,这个比较复杂,与侵占量词“+”可以通用,比如:\d++ 可以写为 (?>\d+)。