我正在visual studio中尝试查找替换,但似乎找不到如何使用正则表达式查找[Name]
。。。在stack上其他问题的帮助下,我可以找到第一个括号,但它无法找到开头和结尾,也无法识别括号内的文本。
您需要转义左括号和右括号,因为它们是regex元字符。类似这样的东西:
[Name]
括号通常是正则表达式引擎的运算符
[a-z] # everything from 'a' to 'z'
[^a] # everything except 'a'
[^a]+ # one or more chars excluding 'a'
因此,如果你想匹配实际的括号字符,你需要对它们进行转义(使用反斜杠),所以在这种情况下,你的正则表达式将以[
开始,以]
结束
我们在中间放了什么?我们需要能够有任何东西,除了结束括号,重复一次或多次。那就是:
[^]]+ # one or more chars excluding ']'
所以总的来说,你的答案是:
[[^]]+]
假设"name"是任何有效的标识符,那么[{:i}]
就可以了。可以在替换表达式中使用1
来获取名称的值。
注意::i
是Visual Studio独有的快捷方式。标准的regex等价物(这里也适用)是[A-Za-z0-9_]+
。
注意:对于任何不熟悉VisualStudio正则表达式的读者来说,花括号用于捕获组,而不是其他地方使用的普通圆括号。