在Visual Studio 2010“Productivity Power Tools”插件(非常棒)中,您可以将文件选项卡配置为基于正则表达式进行颜色编码。
我有一个RegEx来区分接口文件(IMyInterface.cs)的标签颜色和常规的.cs文件:
[I]{1}[A-Z]{1}.*\.cs$
不幸的是,这也会对任何以大写字母“I”(例如,Information.cs)开头的文件进行颜色编码。
如何将此RegEx修改为仅包含第一个字母为“I”且第二个字母不是小写的文件?
答案 0 :(得分:5)
你的正则表达式应该按原样运行。它可能在忽略大小写模式下执行。尝试使用(?-i)
:
(?-i)[I]{1}[A-Z]{1}.*\.cs$
答案 1 :(得分:2)
答案 2 :(得分:1)
Windows中的文件名不区分大小写,因此很明显Power Tools将使用不区分大小写的匹配。
答案 3 :(得分:0)
这个怎么样:
^I([A-Z][A-Za-z0-9]*){1}\.cs$
所以
IMyInterface.cs // matches, MyInterface
IB.cs // B
IBa.cs // Ba
IC1.cs // C1
I.cs // don't
Information.cs // don't
答案 4 :(得分:0)
我基于那里放置的默认模式并使用^I[A-Z].*\.cs[ ]*(\[read only\])?$
- 我认为有一个优先级问题,所以如果你在那里保留默认的.cs
模式匹配器并添加到最后,你可能隐藏了你的,因为它首先匹配了一般的。
你不能重新订购或删除它们,所以让订单运作良好有点繁琐......
FWIW,我认为区分大小写的问题((?-i
)没有任何区别。