【问题标题】:Regex to search pattern surrounded by a common pattern repetitively正则表达式重复搜索由常见模式包围的模式
【发布时间】:2015-05-18 09:22:16
【问题描述】:

我有以下字符串。

$str = "abafghababa";

我想搜索模式 aba 及其计数。

count 的预期输出为 3

我正在尝试使用$count = () = $str =~ /aba/; 但这导致 2 是正确的。但我想找到一种方法,它可以导致 3。

【问题讨论】:

    标签: regex string perl next


    【解决方案1】:

    由于您想匹配重叠的aba,您需要使用零宽度断言的前瞻。

    你可以使用这个正则表达式:

    /(?=(aba))/g
    

    并获取组数。

    RegEx Demo

    【讨论】:

    • 我认为对 OP 和其他读者的解释将有助于正则表达式的确切作用
    • 实际上它是基于前瞻(零宽度断言)的非常简单的正则表达式,我已经简要地写过它。除了链接的演示还有更多详细信息。
    猜你喜欢
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多