我有以下文本:
service instance 2930 ethernet
description this is all character billing code not include tunnel id
encapsulation dot1q 2930
xconnect 1.1.1.2 333 encapsulation mpls
service instance 2931 ethernet 2931colin
description this is 2931 Billing Code for Colin
encapsulation dot1q 2931
xconnect 1.1.1.2 2931 encapsulation mpls并且只想获得“服务实例”启动的最后一部分...例如:
service instance 2931 ethernet 2931colin
description this is 2931 Billing Code for Colin
encapsulation dot1q 2931
xconnect 1.1.1.2 2931 encapsulation mpls你能帮我构建这个正则表达式吗?我已经花了3个小时完成了答案,然后才把它贴出来:(
谢谢
发布于 2013-07-05 10:40:29
使用贪婪量词
(?s)service instance(?!.*service instance).*$(?s)切换允许.匹配换行符的单行模式
(?!.*service instance)是一个zero width lookahead,它将检查service instance,如果发生,它将不会进一步匹配
$标记字符串的结尾
因此,只有当字符串前面没有服务实例时,此正则表达式才会匹配服务实例,从而允许我们匹配所需的字符串
https://stackoverflow.com/questions/17480288
复制相似问题