我是Regex的新手,我试图从文件中找到的字符串中提取路径。但是有许多字符串可以匹配我设法提出的正则表达式,所以我得出结论我只需要在字符串被包含在静态字符串之间时应用字符串。
该文件如下所示:
14:58:15 [LC] AKF = 0-65535
14:58:15 [THR] CPU 02 : Engine (AFK)
14:58:15 [QA] Result Path : [/some/linux/path/Results/Test_2013_09_12_14_58_15]
14:58:15 [THR] Starting Listener
14:58:15 [THR] Starting Listener
我不确定是否使用正则表达式我可以创建一个包含封闭字符串的模式(" [QA]结果路径:""]&#34 ;)或者如果我需要编写那个逻辑?
我正在使用OpenJDK 1.7。
答案 0 :(得分:1)
您似乎认为只能在正则表达式中使用模式匹配字符。您可以包含文字:
abc.*def
将搜索“abc”后跟任意数量的任何字符,后跟“def”。如果要搜索的字符是“特殊”,例如a。或者a]然后你需要用。来逃避它们。
答案 1 :(得分:0)
\[(.*?)\].*?\[(.*?)\]$
它应该捕获两个括号的内容。
$
是“字符串结尾”,如果不重要,可以省略它。