Je veux trouver des motifs répétitifs dans la phrase suivante en utilisant des expressions reqular en java:Trouver des motifs répétitifs dans une phrase en utilisant des expressions reqular en java
username|s:5:"derick256";privilege|s:5:"derick542";premium|s:5:"derik542";
je dois extraire ce qui suit, et potentiellement plus, donc je besoin d'une solution qui est facilement extensible ...
- nom d'utilisateur
derick256
- privilège
derick 542
- prime
derik542
Ceci est mon code ...
String re1="((?:[a-z][a-z0-9_]*))"; // Variable Name 1
String re2=".*?"; // Non-greedy match on filler
String re3="(?:[a-z][a-z0-9_]*)"; // Uninteresting: var
String re4=".*?"; // Non-greedy match on filler
String re5="((?:[a-z][a-z0-9_]*))"; // Variable Name 2
Pattern p = Pattern.compile(re1+re2+re3+re4+re5,Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
Matcher m = p.matcher(strLine);
if (m.find()){
String word1=m.group(1);
String word2=m.group(2);
System.out.print("("+word1.toString()+")"+"("+word2.toString()+")"+"\n");
}
Mais je ne suis username derick256
. Quelqu'un pourrait-il m'aider à comprendre l'erreur?
L'absence du caractère «c» est-elle intentionnelle dans «derik542»? –
oui .. je voulais dire qu'il peut être n'importe quel autre mot –