【问题标题】:First regex instance match not matching on first line?第一个正则表达式实例匹配在第一行不匹配?
【发布时间】:2014-06-30 11:27:48
【问题描述】:

根据以下示例,我有一个正则表达式模式。

http://regex101.com/r/sB3kK5

基本上它只匹配特定正则表达式模式的第一个实例。

但是,作为一次性派生,如果只有一个模式(匹配第一个实例与空行和模式上方的空格),我可以获得以下匹配。

http://regex101.com/r/eY0iC7

但是,如果模式在第一行,则不匹配。

http://regex101.com/r/qH7iT4

如何让最后一个示例匹配第一行?

【问题讨论】:

    标签: java regex


    【解决方案1】:
    ^(.+?)?\byo\b(?:(?!cut me:|yo).)*cut me:
    

    我刚刚在(.+?) 之后添加了一个? 以使其可选。

    demo

    【讨论】:

      【解决方案2】:

      如何让最后一个示例匹配第一行?

      正则表达式:^(.+?)\byo\b(?:(?!cut me:|yo).)*cut me:by 之前需要一个或多个字符,因为(.+?) 中的+。考虑将其更改为(.*?)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多