[英]Regex pattern for this string
我在匹配休止行中的某些字符串时遇到问题:
02-16 12:23:24.046 3068 3068 E AndroidRuntime: at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:153)
02-16 12:23:24.046 3068 3068 E AndroidRuntime: at android.view.Window$LocalWindowManager.addView(Window.java:559)
02-16 12:23:24.046 3068 3068 E AndroidRuntime: at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2716)
02-16 12:23:24.046 3068 3068 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2151)
02-16 12:23:24.046 3068 3068 E AndroidRuntime: at android.app.ActivityThread.access$700(ActivityThread.java:140)
02-16 12:23:24.046 3068 3068 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1238)
02-16 12:23:24.046 3068 3068 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
我想在最后两个'('')'字符之间匹配字符串。 我知道有很多正则表达式教程,但我还无法获得。 我需要对此进行更多研究
因此,成功的结果应该是:
WindowManagerImpl.java:153
Window.java:559
ActivityThread.java:2716
ActivityThread.java:2151
and so on
我所知道的是,并非总是有单词“ java”,因此我想在最后一个“(””)之间取值
谢谢大家的线索
假设该行中没有其他括号,则可以执行以下操作:
\([^)]+\)
然后,您可以在比赛结束时修剪(和)。
或分组内部文本:
\(([^)]+)\)
然后使用match.Groups [1] .Value获取内部组的值。
更新:@cabecao提醒我,如果文本始终显示在末尾,并且可能还有其他括号,则在末尾添加“ $”以匹配行尾。
\([^)]+\)$
您可以使用:
var matches = Regex.Matches(input, @"(?<=\().*(?=\))");
foreach (Match item in matches)
{
Console.WriteLine(item.Value);
}
我现在想到的最简单的方法是:
.*\((.*)\)$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.