replaceAll // Remplace toutes les paires
replaceFirst // Premier remplacement
/**
Exclure les caractères non alphabétiques.
[^ a-zA-Z] -> Autre que l'alphabet */ private static void testReplace() { String str = "fjslru7974294jlsjfJLJL+;]:@:UOIUO"; String regex = "[^a-zA-Z]"; System.out.println(str.replaceAll(regex, "")); } //結果fjslrujlsjfJLJLUOIUO
split // fractionné
/**
Divisez les nombres par et faites un tableau.
[0-9] + -> Plusieurs nombres
\ d + -> Plusieurs nombres */ private static void testSplit() { String str = "jfslj47924fjslk24729djldja492824"; String regex = "[0-9]+"; System.out.println(Arrays.toString(str.split(regex))); } // Résultat [jfslj, fjslk, djldja]
correspond // correspondant
Jugement mineur
/**
\ d + -> Plusieurs nombres
(\. \ d +)? -> 0 ou 1 entre parenthèses
*/ private static void testMatchDouble() { String str = "10.5"; String regex = "\d+(\.\d+)?"; if(str.matches(regex)) { System.out.println(Double.parseDouble(str)); }else { System.out.println ("pas double"); } }
Jugement de date
/**
\ d {4} -> 4 chiffres
\ d {2} -> 2 chiffres
Jugement du numéro de téléphone
/**
\ d {10,12} -> 10-12 nombres
\ d {3,5} -> 3-5 numéros
-->-
*/ private static void testMatchTellphoneNumber() { String str = "080-1111-1111"; String regex1 = "\d{10,12}"; String regex2 = "\d{3,5}-\d{3,5}-\d{3,5}"; if(str.matches(regex1) || str.matches(regex2)) { System.out.println(str); }else { System.out.println ("pas un numéro de téléphone"); } }
Jugement par e-mail
/**
\ w + -> De nombreux alphabets
[a-zA-Z] -> De nombreux alphabets
[a-zA-Z0-9 \ _ \ - \.] -> Alphabet ou __. */ private static void testMatchEmail() { String str = "[email protected]_c-d.com"; String regex = "[a-zA-Z][a-zA-Z0-9\\-\.]{5,29}@[a-zA-Z0-9\\-\.]+\.\w+";
if(str.matches(regex)) {
System.out.println(str);
}else {
System.out.println ("pas E-mail"); } }
private static void textPattern() {
//文字列 String string = "da646dad4da64da54d6a4d5a4d6a4d5ae78w"; String regex = "[0-9]+"; // Diviser par motif Pattern pattern = Pattern.compile(regex); System.out.println(Arrays.toString(pattern.split(string))); // Split par chaîne System.out.println(Arrays.toString(string.split(regex))); } // Résultat [da, papa, da, da, d, a, d, a, d, a, d, ae, w] [da, dad, da, da, d, a, d, a, d, a, d, ae, w]
private static void testMatcher() {
String str = "2019-09-10";
String regex = "\\d{4}\\-\\d{2}\\-\\d{2}";
// Correspondance par Matcher Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); System.out.println(""+ matcher.matches()); // Correspondance par chaîne System.out.println(""+str.matches(regex)); } // Résultat vrai true
regex | sens | Remarques |
---|---|---|
abc | abc | |
\\n | nouvelle ligne | |
\\t | tab | |
[abc] | a ou b ou c | |
[^abc] | a,b,Autre que c | |
[a-zA-Z] | Alphabet | |
[a-d[m-p]] | a-dortoir-p | |
\\d | Nombres | |
\\D | Autre que des nombres | |
\\w | a-z A-Avec Z_ | [a-zA-Z_]Pareil que |
\\W | Autre que ceux ci-dessus |
regex | sens | Remarques |
---|---|---|
\\d+ | Un ou plusieurs numéros | |
\\d? | Numéro 0 1 | |
\\d* | Numéro 0, 1 ou plus | |
\\d{5} | 5 numéros | |
\\d{5,10} | Numéros 5 ou plus et 10 ou moins | |
\\d{5,} | 5 numéros ou plus |
regex | sens | Remarques |
---|---|---|
XY | Jugement X suivi de Y | |
X|Y | Jugement X ou Y | |
(X) | Jugement de groupe X |
Recommended Posts