[英]Regex match exact pattern but only last occurence
我正在寻找可解析以下类型的字符串的正则表达式:
My Name Here(123456789) some_code[some_other_code]
格式相对容易:
我要捕获所有四个:
以下正则表达式适用:
(.*?)\(([0-9]*)\) (.*?)\[(.*?)\]
问题在于,对于我所知的所有内容,第一个“我的名字在这里”部分也可能在括号之间包含一个数字...而不是“我的名字在这里”,它可能是“ Nick(123)(456)Abcd”。 那不正确地匹配...
相同的正则表达式与此匹配:
Nick(123) (456) Abcd(123456789) some_code[some_other_code]
现在,第一个捕获组仅捕获“ Nick”(而它应捕获“ Nick(123)(456)Abcd”),而第二个捕获组将捕获123作为数字,而它应捕获最后一次出现的123456789。
换句话说,我只希望将([[0-9] *))的最后一次出现作为第二组,而不是第一组...
我想我需要使用回顾功能,但是我不知道如何实现这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.