具有多个负面外观的正则表达式

时间:2016-10-14 10:26:16

标签: c# .net regex

这里有一些问题与我的问题类似,但我无法使其发挥作用。

我需要的是一个带有捕获组的正则表达式,它匹配每个' WhatEver DataSet',我需要捕获'WhatEver'部分。

但是,匹配不能以点开头,也不能以'ABC'

开头

TESTDATA:

IShouldMatchDataSet             // should match (entity = IShouldMatch)
ABCIShouldNotMatchDataSet       // shoult not
WhatEver.IShouldNotMatchDataSet // should not
.ShouldNotDataSet               // should not
DataSet                         // should not

这是我目前的进展。点匹配有效,但ABC没有。

(?<!ABC\w*)(?<!\.\w*)(?<entity>\w+)DataSet

我使用RegexStorm作为测试人员,供参考。

1 个答案:

答案 0 :(得分:0)

其中一种方法 - 寻找不是'。'的单词突破。并且后面没有'ABC',然后在休息后取文字后跟'DataSet'。

\b(?<!\.)(?!ABC)\w+(?=DataSet)

RegexStorm Demo