Java Pattern
fornisce i flag che consentono di abbinare i caratteri di controllo delle espressioni regolari. Il passaggio di Pattern.LITERAL
o 16
come secondo argomento corrisponderà a qualsiasi carattere Unicode, ma non se si utilizza una parola associata all'espressione regolare Unicode.
Pattern p = Pattern.compile("$", Pattern.LITERAL); //I could also escape \$
Matcher m = p.matcher("$ $ $ $$");
int i = 0;
while(m.find()){
i++;
}
System.out.println(i + " $ were matched"); //---> 4 $ were matched
//Using word boundary will not match any $
Pattern p1 = Pattern.compile("\b$\b", Pattern.LITERAL); //
Matcher m1 = p.matcher("$ $ $ $$");
int i = 0;
while(m.find()){
i++;
}
System.out.println(i + " $ were matched"); //---> 0 $ were matched
Come puoi vedere, voglio corrispondere a $ distinti, ma non riesco a farlo.