.NET正则表达式字符串求反

.NET正则表达式字符串求反,.net,regex,.net,Regex,只是另一个正则表达式问题 我有一个项目,用我们新的翻译系统来替换C#项目文件中所有强大的资源链接 对于下面两行,我只需要得到第一行。这意味着,我想排除ResourceManager调用 Resources.SomeGlobalResxFile.SomeKey Resources.SomeGlobalResxFile.ResourceManager //mostly followed with GetString 我已经编写了下面的正则表达式,它工作得很好,但不幸的是包含了ResourceMan

只是另一个正则表达式问题

我有一个项目,用我们新的翻译系统来替换C#项目文件中所有强大的资源链接

对于下面两行,我只需要得到第一行。这意味着,我想排除ResourceManager调用

Resources.SomeGlobalResxFile.SomeKey
Resources.SomeGlobalResxFile.ResourceManager //mostly followed with GetString
我已经编写了下面的正则表达式,它工作得很好,但不幸的是包含了ResourceManager

//"Resources" must have no alfa or dot character before them -> [^\w\.]
//The link is consisted of a global key (the first parenthesis linking 
//the RESX file) and the resource key
[^\w\.]Resources\.(?<global_key>\w+)\.(?<key>\w+)
/“资源”前面不能有alfa或dot字符->[^\w\.]
//链接由一个全局键(第一个括号)组成
//RESX文件)和资源密钥
[^\w\.]资源\.(?\w+)\(?\w+)
我需要的(或我认为我需要的)是消极的前瞻性…那些消极/积极的前瞻性/落后性每次我意识到我需要它们时都会让我头疼,因为我永远不知道如何正确地放置它们…或者使用“前瞻性”或“落后性”是否更好

//still includes the ResourceManager
[^\w\.]Resources\.(?!ResourceManager)(?<global_key>\w+)\.(?<key>\w+)
[^\w\.]Resources\.(?<global_key>(?!ResourceManager)\w+)\.(?<key>\w+)
//仍然包括ResourceManager
[^\w\.]资源\.(?!ResourceManager)(?\w+)\(?\w+)
[^\w\.]资源\.(?(!ResourceManager)\w+)\(?\w+)

如果我没看错你的话,你是把一切都做对了,但是把消极的展望放错了地方。它应该在
键中

[^\w\.]Resources\.(?<global_key>\w+)\.(?!ResourceManager)(?<key>\w+)
[^\w\.]资源\.(?\w+)\(?!ResourceManager)(?\w+)

您想只获取其中没有
ResourceManager
的字符串吗?如果是这样,您可以使用
字符串.Contains
函数。i、 e.
if(string.Contains(“ResourceManager”)==false){…}
if(string.Contains(“ResourceManager”)==false)的快速链接,用于那些遇到此问题的人。