Ceci peut être une question idiote, mais je ne l'ai trouvé nulle part :
Comment puis-je utiliser l'opérateur d'expression régulière java OR (|) sans parenthèses ?
par exemple: Tel|Phone|Fax
Ceci peut être une question idiote, mais je ne l'ai trouvé nulle part :
Comment puis-je utiliser l'opérateur d'expression régulière java OR (|) sans parenthèses ?
par exemple: Tel|Phone|Fax
Vous pouvez simplement utiliser le pipe seul:
"string1|string2"
par exemple:
String s = "string1, string2, string3";
System.out.println(s.replaceAll("string1|string2", "blah"));
Sortie:
blah, blah, string3
La principale raison d'utiliser des parenthèses est de limiter la portée des alternatives:
String s = "string1, string2, string3";
System.out.println(s.replaceAll("string(1|2)", "blah"));
a la même sortie. mais si vous faites simplement ceci:
String s = "string1, string2, string3";
System.out.println(s.replaceAll("string1|2", "blah"));
vous obtenez:
blah, stringblah, string3
parce que vous avez dit "string1" ou "2".
Si vous ne voulez pas capturer cette partie de l'expression utilisez ?:
:
String s = "string1, string2, string3";
System.out.println(s.replaceAll("string(?:1|2)", "blah"));
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.