i'm trying matches starts _ , ends = url looks like
?_field1=param1,param2,paramx&_field2=param1,param2,paramx
in case i'm looking instance of _fieldx=
a method use looks like
public static list<string> getallmatches(string url, string regex) { list<string> matches = new arraylist<string>(); matcher m = pattern.compile("(?=(" + regex + "))").matcher(url); while(m.find()) { matches.add(m.group(1)); } return matches; } called
list<string> fieldslist = getallmatches(url, "_.=");
but somehow not finding have expected.
any suggestions have missed?
a regex (?=(_.=)) matches occurrences of overlapping matches start _, have 1 char (other line break char) , =.
you need no overlapping matches in context of string provided.
you may use lazy dot matching pattern, _(.*?)=. alternatively, may use negated character class based regex: _([^=]+)= (it capture group 1 1 or more chars other = symbol).
Comments
Post a Comment