import java.util.regex.*;
public class RegexString {
public static void main(String args[]){
// String to be scanned to find the pattern.
String line = "control.avgo: 29 50.49854 50.504984 50000 50.5000001 0.0 1 2"
String pattern = "()()()()()()()()";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find()) {
System.out.println("Found value group 0: " + m.group(0));
System.out.println("Found value group 1: " + m.group(1));
System.out.println("Found value group 2: " + m.group(2));
System.out.println("Found value group 3: " + m.group(3));
System.out.println("Found value group 4: " + m.group(4));
System.out.println("Found value group 5: " + m.group(5));
System.out.println("Found value group 6: " + m.group(6));
System.out.println("Found value group 7: " + m.group(7));
} else {
System.out.println("Pattern is no good!");
}
}
}
Приветствую всех!Построение определенного регулярного выражения
Вышеприведенный простой пример, который я нашел в регулярном выражении, я хочу сделать, это построить шаблон регулярного выражения, чтобы извлечь каждое из этих чисел целые числа и удвоения и поместить их в каждую группу. Мое исследование до сих пор было в состоянии получить целые числа, я не знаю, как извлечь каждый из двойников int и поместить их в каждую группу?!? Я понимаю концепцию группировки, следовательно,()()()()() .... Было бы проще смотреть на пробелы и извлекать числа внутри них или может (int) (double) (double) (int) (double) (int) (int) выражается?
Похоже, вы раскалываете пространство. Вы, вероятно, не нуждаетесь в регулярном выражении здесь. Попробуйте 'line.split (" \\ s + ");' – devnull
Я действительно очень удивлен, что ваш шаблон что-то делает. Какой результат вы получаете от запуска программы? – kutschkem
Он выводит с найденными значениями пробелы во всех группах. –