gpt4 book ai didi

java - 获取单引号或空格之间的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:13:44 25 4
gpt4 key购买 nike

我希望有一个正则表达式,它给我 classLoader 的名称插入单引号/空白空间,但不是两者的混合。即一些例子。 :

2014-05-21 22:05:13.685 TRACE [Core] sun.misc.Launcher$AppClassLoader@62c8aeb3 searching for resource 'java/util/LoggerFactory.class'.

预期输出 sun.misc.Launcher$AppClassLoader@62c8aeb3

2014-05-21 22:05:13.685 TRACE [Core] Class 'org.jboss.weld.metadata.TypeStore' not found in classloader 'org.jboss.modules.ModuleClassLoader@4ebded0b'.

预期输出 org.jboss.modules.ModuleClassLoader@4ebded0b

2014-05-21 22:04:34.591 INFO [Core] Started plugin org.zeroturnaround.javarebel.integration.IntegrationPlugin from /Users/endragor/Downloads/jrebel/jrebel.jar in sun.misc.Launcher$AppClassLoader@62c8aeb3

预期输出 sun.misc.Launcher$AppClassLoader@62c8aeb3

请注意,对于最后一个示例,该行以换行符结束。即前面没有任何东西。

这是我尝试过的 ".*[\\s|'](.*ClassLoader.*[^']*)['|\\s].*"。但它不起作用。对于第一个示例,它在下面给出而不是 sun.misc.Launcher$AppClassLoader@62c8aeb3:

sun.misc.Launcher$AppClassLoader@62c8aeb3 searching for resource 'java/util/LoggerFactory.class

如果类加载器字符串在行尾,即上面的示例 3,我的正则表达式也不会处理。我该怎么做才能考虑 '\\s 但不能同时考虑这两者

最佳答案

试试这个:

String extractedValue=yourString.replaceAll("(.*)([ '])(.*ClassLoader.*?)(\\2)(.*)", "$3");

每当我们想要在一组预定义值之间提取字符串时,第一个和最后一个分隔符应该具有相同的值,我们可以使用 Backreference功能。

关于java - 获取单引号或空格之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24061474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com