Javaで正規表現を使用して、次の文で繰り返しパターンを見つけたい:
username|s:5:"derick256";privilege|s:5:"derick542";premium|s:5:"derik542";
以下を抽出する必要があり、場合によってはそれ以上を抽出する必要があるため、簡単に拡張できるソリューションが必要です...
- ユーザー名
derick256
- 特権
derick 542
- プレミアム
derik542
これは私のコードです...
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");
}
しかし、私はusername derick256
. 誰でもエラーを理解するのを手伝ってくれませんか。