I want to create array of regex match string from the text bellow.
.title1
this is a content of title1.
this is also a content of title1.
..title2
this is a content of title2
this is also a content of title2
and desi开发者_C百科red array is below
array[0] = ".title1
this is a content of title1.
this is also a content of title1."
array[1] = "..title2
this is a content of title2
this is also a content of title2"
and bellow is my code.
ArrayList<String> array = new ArrayList<String>();
Pattern p = Pattern.compile("^\.[\w|\W]+^\.", Pattern.MULTILINE);
Matcher m = p.matcher(textAbove);
if(m.matches()){
m.reset();
while(m.find()){
array.add(m.group());
}
}
But with this code, array[0] contains from ".title1" to "." before ".title2", and couldn't get array[1] since m.find() doesn't match, and when I use ^\.[\w|\W]+
instead of regex pattern above, array[0] contains everything.
How can I acheive this array?
I don't stick to regex, any solution is welcome.
You're pretty close - try this regex instead:
^\..*?(?=(^\.|\Z))
In java, this would be"
"^\\..*?(?=(^\\.|\\Z))" // escaping the backslashes for java String.
精彩评论