Matching Across Line Boundaries in a Regular Expression
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] argv) throws Exception {
CharSequence inputStr = "abc\ndef";
String patternStr = ".*c.+d.*";
Pattern pattern = Pattern.compile(patternStr, Pattern.DOTALL);
Matcher matcher = pattern.matcher(inputStr);
boolean matchFound = matcher.matches();
matchFound = pattern.matches(".*c.+d.*", "abc\r\ndef");
matchFound = pattern.matches("(?s).*c.+d.*", "abc\r\ndef");
}
}
Related examples in the same category