0

我有这个字符串:

NSString* yourString = @"(;GM[1]FF[4]SZ[19]AP[CGoban Pro:2.2]PW[Michael Redmond]WR[9p]DT[2010-12-12]KM[6.5]RE[B+0.5]AN[Michael Redmond]BK[1]C[toto : [test]]";

我有这个正则表达式:

NSRegularExpression* regex = [NSRegularExpression
                              regularExpressionWithPattern:@"((RU)|(KM)|(TM)|(OT)|(PW)|(PB)|(WR)|(BR)|(WR)|(DT)|(RE))\\[[\\w ]+\\]"
                              options:NSRegularExpressionCaseInsensitive
                              error:&error];

我不能用 \w 和 \ 获得数值。或仅 . 一无所有!任何人都可以帮助我吗?

谢谢

4

1 回答 1

0

试试\\[[-+. \\w]+\\]。这将匹配字母、数字、空格、加号、减号和句点。请注意,-必须是第一个,因为-中间表示一个范围,如[a-z].

或者,如果您只想匹配方括号内的任何内容而不关心它实际上是什么,请尝试\\[[^]]+\\]. 那将匹配[,然后任何不匹配,]然后]

于 2013-04-28T22:58:31.403 回答