正则表达式匹配c#花括号线

时间:2012-06-26 11:35:24

标签: c# regex

我正在寻找正则表达式来匹配任何具有打开或关闭的花括号的字符串。它应该只在括号内的空格,制表符等(\ s)之外还有另一个字符时匹配 - 即使字符串中有另一个括号。

基本上这是静态代码分析器的一部分,应检查支架是否在新的空行(样式指南)上。如果字符串中有任何其他字符,则应匹配。

我得到了这个^[\S]*({|})[\S]*$。但由于{,它也匹配*。 我正在使用C#。

示例:

匹配:{ lalalala{asdf{asdf{}

不匹配:{{}TAB { TABasdf

谢谢!

2 个答案:

答案 0 :(得分:0)

这不太好但是这可能有用:

^([\S]+[{}])|([\S]+[{}][\S]+)|([{}][\S]+)$

希望这有帮助

答案 1 :(得分:0)

正则表达式^(?=.*[{}])\S*$将匹配包含至少一个大括号的字符串,并且此类字符串不会包含任何空白字符。


更新

根据您的评论,您可能正在寻找此正则表达式:.*{(?:\s*[^\s}]+}?|})