Java 使用封闭字符串应用正则表达式
我不熟悉正则表达式,我正试图从文件中找到的字符串中提取路径。但是有很多字符串可以匹配我设法找到的正则表达式,所以我得出结论,只有当字符串被包含在静态字符串之间时,我才需要应用该字符串 该文件如下所示:Java 使用封闭字符串应用正则表达式,java,regex,openjdk,Java,Regex,Openjdk,我不熟悉正则表达式,我正试图从文件中找到的字符串中提取路径。但是有很多字符串可以匹配我设法找到的正则表达式,所以我得出结论,只有当字符串被包含在静态字符串之间时,我才需要应用该字符串 该文件如下所示: 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:5
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]结果路径:”和“]”)的模式,或者我是否需要对该逻辑进行编码
我正在使用OpenJDK1.7
\[(.*?)\].*?\[(.*?)\]$
它应该捕获两个括号的内容
$
是“字符串结尾”,如果不重要,可以省略它。您似乎认为您只能在正则表达式中使用模式匹配字符。您可以包括文字:
abc.*def
将搜索“abc”,后跟任意数量的任意字符,后跟“def”。如果要搜索的字符是“特殊的”,例如。或者a]那么你需要用一个安全带逃离他们。你试过什么吗?