JPe*_*ter 3 regex perl capture
我正在尝试捕获正则表达式组中此行中的最后一位数字:
输入:
9 Power_On_Hours 0x0032 099 099 000 Old_age Always - 54654
我的模式:
/Power_On_Hours.+Always\s.+([0-9]{1,5})/
Run Code Online (Sandbox Code Playgroud)
我似乎无法让它捕获"54654",它返回undef :(
实际上,捕获组应该抓住'4',而不是取消.你的决赛.+将吃掉所有东西直到最后一位数,然后将其捕获到$1.此修订版捕获所有数字$1:
/Power_On_Hours.+Always\s.+?(\d{1,5})/
Run Code Online (Sandbox Code Playgroud)
将?使得.+非贪婪的,所以它会匹配字符最多时数字(\d)开始匹配.