У меня есть текст, как показано нижеРегулярное выражение для поиска символов между ##
Here is some text #variable name# that goes very long with #another variable name# and
goes longer #another another variable# and some more.
Я хотел бы написать регулярное выражение, которое расщепляет этот текст в группы, как этот
Group 1: Here is some text
Group 2: #variable name#
Group 3: that goes very long with
Group 4: #another variable name#
Group 5: and goes longer
Group 6: #another another variable#
Group 7: and some more
Моя попытка беден , Я не могу получить мою голову вокруг этой вещи
(.*?)*(#.*#)*(.*?)*
Кроме того, это должно работать в Java .. как ниже
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static java.util.regex.Pattern.*;
public class Test {
public static void main(String[] args) {
Pattern pattern = compile("(([^#]+)|(#[^#]+#)) ");
String string="Here is some text #variable name# that goes very long with #another variable name# and " +
"goes longer #another another variable# and some more.";
Matcher matcher = pattern.matcher(string);
while(matcher.find()){
System.out.println(matcher.group());
}
}
}
есть ли '\ n' на вашем входе? –
'(([^ #] +) | (# [^ #] + #))' должен делать трюк. – cgTag