CharSequence inputStr = "a b"; String patternStr = "a b"; // Compile without comments Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(inputStr); boolean matchFound = matcher.matches(); // true // Compile with comments pattern = Pattern.compile(patternStr, Pattern.COMMENTS); matcher = pattern.matcher(inputStr); matchFound = matcher.matches(); // false // Use COMMENTS but include a character class with a space patternStr = "a [\ ] b"; pattern = Pattern.compile(patternStr, Pattern.COMMENTS); matcher = pattern.matcher(inputStr); matchFound = matcher.matches(); // true // Use an inline modifier matchFound = pattern.matches("a b", inputStr); // true matchFound = pattern.matches("(?x)a b", inputStr); // false matchFound = pattern.matches("(?x)a [\ ] b", inputStr); // true matchFound = pattern.matches("(?x)a \s b", inputStr); // true matchFound = pattern.matches("a (?x: b )", inputStr); // true // Tabs and newlines in the pattern are ignored as well matchFound = pattern.matches("(?x)a tn \s b", inputStr); // true // Read pattern from file try { File f = new File("pattern.txt"); FileReader rd = new FileReader(f); char[] buf = new char[(int)f.length()]; rd.read(buf); patternStr = new String(buf); matcher = pattern.matcher(inputStr); matchFound = matcher.matches(); // true } catch (IOException e) { }