所以我有一个很大的字符串,我想找到所有具有这种格式的子字符串@#forward,x = 123,y = 25,距离= 34#@3个数字可以是任何整数。预先谢谢你。
我不确定您的要求,但这是一个相当简单的正则表达式。
您可以使用Pattern
包中的Matcher
和java.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。
此外,如果此答案对您有所帮助,请不要忘记将该答案投票/标记为已接受。干杯!