Ich muss regulären Ausdruck ändern, um alle Standardzeichen, französischen Zeichen, Leerzeichen und Bindestrich (Bindestrich) aber nur einzeln zuzulassen.Java regulärer Ausdruck für französische Namen
Was ich jetzt habe, ist:
import java.util.regex.Pattern;
public class FrenchRegEx {
static final String NAME_PATTERN = "[\u00C0-\u017Fa-zA-Z-' ]+";
public static void main(String[] args) {
String name;
//name = "Jean Luc"; // allowed
//name = "Jean-Luc"; // allowed
//name = "Jean-Luc-Marie"; // allowed
name = "Jean--Luc"; // NOT allowed
if (!Pattern.matches(NAME_PATTERN, name)) {
System.out.println("ERROR!");
} else System.out.println("OK!");
}
}
und es erlaubt 'Jean - Luc' als Name und das ist nicht erlaubt.
Irgendwelche Hilfe dabei? Danke.
'[\ u00C0- \ u017Fa-zA-Z] ([- '] [\ u00C0- \ u017Fa-zA-Z]) *' – Lothar
Die meisten Buchstaben im Bereich '\ u00C0- \ u017F' sind aren werde nicht auf Französisch verwendet. –
Obligatorischer Link: [Programmierer von Unwahrheiten glauben an Namen] (http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/). –