繁体   English   中英

如果找到字符,则忽略字符后的字符串

[英]Ignore strings after character if character found

我需要有找到孩子和父母的正则表达式。 例如:

-> 2014-05-21 22:05:23.092信息[核心] org.jboss.modules.ModuleClassLoader@692578父母:sun.misc.Launcher$AppClassLoader@62c8aeb3,sun.misc.Launcher$ExtClassLoader@65459c6f

子节点是org.jboss.modules.ModuleClassLoader@692578be ,其父节点是sun.misc.Launcher$AppClassLoader@62c8aeb3 后来的串后,被忽略。

-> 2014-05-21 22:04:34.118信息[核心] sun.misc.Launcher$AppClassLoader@62c8aeb3父级:sun.misc.Launcher$ExtClassLoader@65459c6f

在上面的子级是sun.misc.Launcher$AppClassLoader@62c8aeb3 ,父级是sun.misc.Launcher$ExtClassLoader@65459c6f

我有这个正则表达式.* (.*) parents?: (.*),?.* 它适用于第二个示例。 但是对于第一个输出,父级为:

sun.misc.Launcher $ AppClassLoader @ 62c8aeb3,sun.misc.Launcher $ ExtClassLoader @ 65459c6f

但应该改为: sun.misc.Launcher$AppClassLoader@62c8aeb3

您可以使用此正则表达式:

(\S+) parents?: ([^,]+)

工作演示

正则表达式默认是贪婪的,您应该告诉它排除,

.* (.*) parents?: ([^,]*),?.*

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM