2016-03-25 72 views
0

我正在嘗試爲ReSharper v10中的待辦事項添加新的過濾器。 爲了表示對完成項目我添加以下代碼自定義ReSharper TODO項目

// TODO @ DEVNAME] - ...

其中DEVNAME是誰應該解決開發商的快捷方式上述問題。但是,我完全停留在爲我的問題創建待辦事項篩選器。

我試過類似(?<=\W|^)(?<TAG>TODO @[KIKE])(\W|$)(.*)(?<=\W|^)(?<TAG>TODO)(\W|$)(.*) @[KIKE]但沒有任何工作。

+0

將'@ [KIKE]'更改爲'@ \ [KIKE \]' - 方括號在正則表達式中有特殊含義,因此您需要將它們轉義出來 –

+0

試過'(?<= \ W | ^) TODO @ \ [KIKE \])(\ W | $)(。*)'a nd'(?<= \ W | ^)(? TODO)(\ W | $)(。*)@ \ [KIKE \]'但仍然無效。也許空間是一個問題? – KingKerosin

+0

[在regex101上工作](https://regex101.com/r/mD4sS8/1) - 也許這是一個resharper的東西。希望別人能夠幫助你:) –

回答

1

在正則表達式中,方括號具有特殊含義,因此要從字面上使用它們,必須使用\字符來轉義它們。

因此,正確的表達將是:

(?<=\W|^)(?<TAG>TODO @\[KIKE\])(\W|$)(.*) 

匹配:

// TODO @ [基科] - ...

Demo

如果遇到問題,值得重新啓動Visual Studio。

沒有逃脫方括號,表達的(?<TAG>TODO @[KIKE])部分是說

  • 匹配「TODO @」
  • 其次一個出現的任何字符 - K或I或E