0

我有以下文字:

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 个小时找到答案:(

谢谢

4

1 回答 1

2

使用贪心量词

(?s)service instance(?!.*service instance).*$

(?s)切换允许.匹配换行符的单行模式

(?!.*service instance)是一个零宽度的前瞻,它将检查service instance,如果它发生,它不会进一步匹配

$标记字符串的结尾

因此,只有当字符串中没有服务实例允许我们匹配所需的字符串时,此正则表达式才会匹配服务实例

于 2013-07-05T02:40:29.080 回答