我想在Visual Studio 2015中为Me._____ Is Nothing
执行正则表达式搜索,其中____不包含特定文本。我还想将Me.______ Is Nothing
(其中___不包含特定词组)转换为String.IsNullOrWhiteSpace(Me.________)
。
If Me.Exclude Is Nothing OrElse Not Me.Exclude.Id.HasValue OrElse
Me.Include1.ToString() Is Nothing OrElse Me.Include2 Is Nothing Then
...
End If
我尝试(?!.*ExcludeProperty).*((Me.+?)) Is Nothing[^"]
,但当我用String.IsNullOrWhiteSpace($1)
替换时,我得到了这个:
If Me.Exclude Is Nothing OrElse Not Me.Exclude.Id.HasValue OrElse
String.IsNullOrWhiteSpace(Me.Include2) Then
...
End If
而不是:
If Me.Exclude Is Nothing OrElse Not Me.Exclude.Id.HasValue OrElse
String.IsNullOrWhiteSpace(Me.Include1.ToString()) OrElse
String.IsNullOrWhiteSpace(Me.Include2) Then
...
End If
如何在我的捕获组中包含Me.Include1
?
答案 0 :(得分:1)
你可以使用一个顽固的贪婪令牌:
(Me\.(?:(?!Exclude).)*?) Is Nothing
请参阅regex demo
<强>详情:
(Me\.(?:(?!Exclude).)*?)
- 第1组在替换模式后面引用$1
反向引用,匹配
Me\.
- 文字字符序列Me.
(?:(?!Exclude).)*?
- 一个驯化的贪婪令牌,匹配任何char,0或更多重复,尽可能少,不会启动Exclude
char序列 Is Nothing
- 字面字符序列。