正则表达式模式匹配问题



下面是我试图匹配的文本

3 INFO  ~ [com.Engine:164] italics

(?<=~s[)([a-zA-Z0-9.]+)(?=:)(?<=:)(.*)(?=])

我需要从中获取 2 个表达式 -

  1. com.Engine
  2. 164

而且我不需要更多的比赛,甚至不需要:.

(?<=~s[)([a-zA-Z0-9.]+)(?=:)

正在返回我com.Engine但是整个正则表达式没有给我任何结果。

请帮忙。

怎么样

(?<=~s[)([a-zA-Z0-9.]+):[^]]+

例 : http://regex101.com/r/kT6vO6/1

  • :[^]]+匹配除]:预先设定的任何内容
(?<=[)[^:]+|(?<=:)[^]]+

试试这个。请参阅演示。

http://regex101.com/r/oE6jJ1/38

I='3 INFO  ~ [com.Engine:164] italics';
J=I.replace(/^.*?[(.*?)].*$/,'$1').split(':');
alert(J[0]+'n'+J[1]);

不确定各个部分的规则,但怎么样:

.*[(.*):(d*)].*

最新更新