我必须对最后一个冒号之后和空格之间的单词进行完全匹配。例如在下面的句子中
XYZ Cloud : ABC : Windows : Non Prod : Silver : ABC123XYZ : ABCdef Service is Down
在这里,我必须为ABCdef做完整的比赛。([^:.*\s]+$)
返回Down,完全匹配([^:]+$)
返回“ ABCdef Service is Down ”。但是我正在寻找ABCdef作为全场比赛。
您可以匹配,直到最后一次出现:
,然后匹配一个空格并捕获组1中的1+个非空白字符。
^.*: +(\S+)
说明
^
字符串开始.*: +
尽可能匹配除换行符以外的任何字符,后跟1个或多个空格(\S+)
捕获组1,匹配1+倍非空格字符,后跟一个空格仅对于匹配项,您可以使用积极的解决方法:
(?<=: )[^\s:]+(?=[^\r\n:]*$)
说明
(?<=: )
正向后看,断言直接在左边的是`:[^\s:]+
匹配除空格字符以外的任何字符的1+倍或 :
(?=[^\r\n:]*$)
正向向前看,断言将0+乘以除换行符以外的任何字符的正确值,:
然后断言字符串的结尾。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句