我有一个文本,它以字符串和数字的形式显示某些输出,并且从中我有一个特定的文本,如下所示。我想从中提取特定的文本
这只是我的一小部分
gjhsgdjhgfjhdgfjkhsdgfjkhgsdfk7868736876534
Pattern is:
(4,24,[5,96]) -> (1,14,[14,15]), that is: "Poland" -> "Poland"
(4,46,[36,39]) -> (1,14,[14,15]), that is: "Kim" -> "Kim"
fhafsdhjdfgjhdagfkhj66876493985694(hjiikfghkjfhg,98698)
(hhgjhgdfj,jhgkjdhgf)
从这我想得到的输出为
"Poland" -> "Poland"
"Kim" -> "Kim"
"The police" -> "The city police on Friday"
我试过的代码是
Pattern p = Pattern.compile("(Pattern is:)\\((.*?)\\)");
Matcher m = p.matcher(str);
while(m.find())
{
System.out.println("fhkjsdfhkjsdh");
System.out.println(m.group(2));
}
您可以使用此:
Pattern p = Pattern.compile("\"[^\"]+\"\\s*->\\s*\"[^\"]+\"");
使用整体匹配。
观看演示
该表达式只检查形式的字符串,而"Poland" -> "Poland"
无需费心检查在Pattern is
任何地方是否匹配,因为(i)输入中似乎不需要的字符串,以及(ii)不清楚什么将构成Pattern节的结尾定界符。
让我们知道这是否满足您的要求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句