dongyata3336 2015-06-12 05:43
浏览 48
已采纳

使用正则表达式从字符串中提取模式

How can I extract the number and key from the following strings using regular expressions?

 Duplicate entry '24040446669881344' for key 'clave_something'
 Duplicate entry '24040446669881345' for key 'clave_something_else'

I tried using substrings but it wont work when the length of the chain changes.

Thanks!

  • 写回答

2条回答 默认 最新

  • doubi6303 2015-06-12 05:45
    关注

    With this, you will get all integers from string:

    preg_match_all('~\d+~', $string, $match);
    print_r($match);
    

    <kbd>demo</kbd>

    For you specific example, to extract also the key:

    preg_match("~'(.+?)'.+'(.+?)'~", $string, $match);
    print_r($match);
    

    <kbd>demo</kbd>

    or if you wish to fetch multiline string:

    preg_match_all("~'(.+?)'.+'(.+?)'~m", $string, $match, PREG_SET_ORDER);
    print_r($match);
    

    <kbd>demo</kbd>

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?