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

你的问题很不清楚,但如果你需要字符串来匹配你的正则表达式,我为你做了一些:

匹配: true,字符串: word-0>kiOgNnuGfalhTfkqxtsCyhN f[RxQrH]:tqtmY
匹配: true,字符串: word-1>wlnJomNExhCLHjrmsyLsKhh g[fXSsPYD]:BbzUM
匹配: true,字符串: word-2>pdTepooJdeDgnODUAJMMPtB Pf[d]: aqmYx
匹配: true,字符串: word-3>jMNDTuvCBufSEAxuzPDmyFG xt[T[RJjQEpJ]:bdlLS
匹配: true,字符串: word-4>kHwqbjwNrSqhGeutzxtqiEy f[SmjJVt]:dWwlU
匹配: true,字符串: word-5>UreUxUwpIyHqPXqVlALIlmr vuJScq[ 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>ZauFhTHuvuXcqlymybjYHzj yv[FAaupu]: 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 回答
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 回答