1

给定以下字符串:

var s = "my [first] ga[m]e and [abc]de]\nThe [Game]"

我使用哪个正则表达式来匹配:

0 - [first]
1 - [abc]de]
2 - [Game]

我试过var pattern2 = new Regex(@"\W\[.*?\]\W");了,但没有找到[Game]

我也希望能够匹配“ [my] gamers\t[pro]

0 - [my]
1 - [pro]
4

2 回答 2

4
\[[^\[]{2,}\]

解释:

\[         # Match a [
[^\[]{2,}  # Match two or more non-[ characters
\]         # Match ]

RegExr上查看。

于 2012-10-12T14:24:02.473 回答
0

除了非单词字符之外,您还需要明确匹配字符串的开头和结尾:

(?:^|\W)\[(.*?)\](?:$|\W)

捕获组将获得括号内的单词。

于 2012-10-12T15:57:24.910 回答