Java中的特定正则表达式

问题描述 投票:-2回答:1

所以我有一个很大的字符串,我想找到所有具有这种格式的子字符串@#forward,x = 123,y = 25,距离= 34#@3个数字可以是任何整数。预先谢谢你。

java regex string substring matcher
1个回答
0
投票

我不确定您的要求,但这是一个相当简单的正则表达式。

您可以使用Pattern包中的Matcherjava.util.regex类。

import java.util.regex.Matcher;
import java.util.regex.Pattern;
String str = "TESTING @#forward,x=123,y=25,distance=34#@ @#forward,x=3,y=3,distance=3422#@";

String regex = "@#forward,x=(\\d+),y=(\\d+),distance=(\\d+)#@";

Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(str);

while(m.find()) {
     // Display matched substrings
     System.out.println(m.group());

     // Retrieve coordinates and distances
     System.out.println("x: " + m.group(1));   
     System.out.println("y: " + m.group(2));
     System.out.println("distance: " + m.group(3));
}

而且,由于您是此社区的新手,请在发布问题之前始终对端进行足够的研究。 Oracle具有正则表达式的very good documentation

此外,如果此答案对您有所帮助,请不要忘记将该答案投票/标记为已接受。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.