0

正規表現は (\\w+).*>(.{23}) ([^\\[]+)\\[([^\\]]+)]: (.+)

Pattern pattern = Pattern.compile("(\\w+).*>(.{23}) ([^\\[]+)\\[([^\\]]+)]: (.+)")
String s = "xxxxxx";   //this is what I want
Matcher matcher =  pattern.matcher(s);
System.out.println(matcher.find());   // I hope "true" 

ここで助けを求めるのは適切ではないかもしれません。しかし、私は正規表現の専門家ではないので、結果をすばやく知る必要があります。

複雑さを軽減し、いくつかのスキームを試しました。

  • abbb>(ccccccccccccccccccccddddddddddcc) 大丈夫です(\\w+).*>(.{23})
  • (\\a) 大丈夫です([^\\[]+)

しかし、私がそれらを組み合わせると。

abbb>(ccccccccccccccccccccddddddddddcc) (\\a) することはできません(\\w+).*>(.{23}) ([^\\[]+)

だから私は、特にその ([^\\[]+)\\[([^\\]]+)]: (.+) 部分で混乱しています。ありがとう 。

4

2 に答える 2

0
([^\[]+) is what ever exept '[' one or more times
\[([^\]]+)]: (\.+) '[' what ever except ']' one or more times ']' : a space and
one ore more dots

これに一致する例は「oo[pp]:...」です。

括弧はグループを表します。

于 2012-11-15T08:10:59.497 に答える
0

あなたの質問は非常に不明確ですが、正規表現に一致する文字列が必要な場合は、次のように作成しました。

一致: true、文字列: word-0> kiOgNnuGfalhTfkqxtsCyhN f [RxQrH]:tqtmY
一致: true、文字列: word-1> wlnJomNExhCLHjrmsyLsKhh g [fXSsPYD]:BbzUM
一致: true、文字列: word-2> pdTepooJdegn aqmYx
一致: true、文字列: word-3> jMNDTuvCBufSEAxuzPDmyFG xt [T [RJjQEpJ]:bdlLS
一致: true、文字列: word-4> kHwqbjwNrSqhGeutzxtqiEy f [SmjJVt]:dWwlU
一致: true、文字列: word-5 QFIpLCplW]:UuL0K
一致: true、文字列: word-6> dojPDeXqAfsHvGjOfvyZOtR aq [ImRqDn]:eyqlr
一致: true、文字列: word-7> ViljtcHRPzMjktFzqwDcprB le [U]:yfohG
一致: true、文字列: word-8> sjtQoCTupFbYqzhxcnrPbMh hhR [gufba]:DmREu
一致: true、文字列: word-9> ZauFhTHuvuXcq ZtrqL

それらはすべて一致"(\\w+).*>(.{23}) ([^\\[]+)\\[([^\\]]+)]: (.+)"し、そのリストは私が実際にすばやく作成したコードによって生成されました。

// generate some strings....
for (String string : full) {
    Pattern pattern = Pattern.compile("(\\w+).*>(.{23}) ([^\\[]+)\\[([^\\]]+)]: (.+)");
    Matcher matcher =  pattern.matcher(string);
    System.out.println("matches:" + matcher.find() + ", string:" + string);
}
于 2012-11-15T09:02:30.420 に答える