给定以下字符串:
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]
\[[^\[]{2,}\]
解释:
\[ # Match a [
[^\[]{2,} # Match two or more non-[ characters
\] # Match ]
在RegExr上查看。
除了非单词字符之外,您还需要明确匹配字符串的开头和结尾:
(?:^|\W)\[(.*?)\](?:$|\W)
捕获组将获得括号内的单词。