【问题标题】:Regex that will match first case on every line.将匹配每一行的第一个案例的正则表达式。
【发布时间】:2014-07-29 16:09:01
【问题描述】:

我有以下正则表达式:

.*?,

以下是我正在处理的一些数据:

"bagel-mssql-iscsi.private.hostname.ca","3636634643","8.8.8.8"
"cecs-admin.prt.hostname.ca","3636634643","8.8.8.8"
"cecs-admin2.prt.hostname.ca","3636634643","8.8.8.8"

以上数据已从原始数据中删失。

我要匹配:

"bagel-mssql-iscsi.private.hostname.ca",
"cecs-admin.prt.hostname.ca",
"cecs-admin2.prt.hostname.ca",

问题是我的正则表达式也匹配主机名后面的数值。我该怎么做才能匹配每行的第一次出现。或者可以使用这种类型的数据的替代方法也可以。

【问题讨论】:

    标签: regex sublimetext2


    【解决方案1】:

    你的正则表达式是,

    ^".*?",
    

    DEMO

    说明:

    • ^ 断言我们处于起步阶段。
    • " 文字双引号。
    • .*? 不情愿匹配任何字符零次或多次。
    • ", 文字 " 后跟逗号。

    【讨论】:

      【解决方案2】:

      你需要锚定到行首:

      ^.*?,
      

      【讨论】:

        【解决方案3】:

        使用仅在行首匹配的^ 锚点:

        ^.*?,
        

        【讨论】:

          【解决方案4】:

          下面的正则表达式过滤器可能会有所帮助:

          ^\"(\S*?)\",
          

          http://regex101.com/r/dZ3gH8/1

          【讨论】:

            猜你喜欢
            • 2014-06-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-01-25
            • 2022-01-11
            • 2020-06-30
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多