正则表达式找到括号和文本

时间:2013-07-18 15:27:44

标签: regex visual-studio-2010

我正在尝试在visual studio中进行查找替换,我似乎无法找到如何使用正则表达式查找[Name] ...我可以在堆栈上的其他问题的帮助下找到第一个括号,但它不会找到开头和结尾并识别括号内的文字。

3 个答案:

答案 0 :(得分:5)

你需要转义开始和结束括号,因为它们是正则表达式元字符。像这样:

\[Name\]

答案 1 :(得分:1)

假设“name”是任何有效的标识符,那么\[{:i}\]应该可以做到。您可以在替换表达式中使用\1来获取名称的值。

注意::i是Visual Studio唯一的快捷方式。标准的正则表达式(也适用于此处)将是[A-Za-z0-9_]+

注意:对于不熟悉Visual Studio正则表达式的任何读者,大括号用于捕获组而不是其他地方使用的普通圆括号。

答案 2 :(得分:1)

括号通常是正则表达式引擎的运算符

[a-z]    # everything from 'a' to 'z'
[^a]     # everything except 'a'
[^a]+    # one or more chars excluding 'a'

因此,如果你想匹配你需要的实际括号字符(使用反斜杠),那么在这种情况下,你的正则表达式将以\[开头,以\]结束

我们之间有什么关系?我们需要能够拥有除结束括号之外的任何东西,重复一次或多次。那将是:

 [^\]]+   # one or more chars excluding ']'

所有答案都是:

 \[[^\]]+\]