【问题标题】:Regex match prefix to suffix without either inbetween正则表达式匹配前缀到后缀,中间没有任何一个
【发布时间】:2017-03-25 23:53:46
【问题描述】:

如果我的前缀是<,我的后缀是>,那么我只想匹配这个字符串的粗体部分:

.<.><.>.>.<.><.>.>.

因为词缀是单个字符,所以这个正则表达式可以工作:&lt;[^&lt;]*?&gt;

问题是词缀多于一个字符时。我如何匹配这个字符串的粗体部分,其中的点代表任意数量的未知字符?

.prefix.prefix.suffix.suffix.prefix.prefix.suffix.suffix.

编辑:
为清楚起见,它还应与下面的粗体部分匹配:

00000000前缀00000000000000后缀0000000000

00000000prefix0000prefix0000suffix0000000000

00000000前缀0000suffix0000suffix0000000000

【问题讨论】:

    标签: regex


    【解决方案1】:

    这可以通过否定环视来完成:

    prefix((?!prefix).)*?suffix
    

    【讨论】:

    • 只有当你总是有双倍的分隔符时才有效。请参阅 live demo 显示它与 "foo" 不匹配 ".prefix.foo.suffix."
    • @Bohemian 您的演示似乎与 prefix.foo.suffix 匹配,这是所需的行为。
    猜你喜欢
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多