.NET正则表达式否定前瞻 - 我做错了什么(第2轮!)

时间:2016-05-01 17:15:54

标签: c# regex regex-negation regex-lookarounds regex-greedy

我之前问过这个问题并使用了我认为完全过于简单的构造,所以我再试一次......

假设我有:

This is a random bit of information from 0 to 1.
  This is a non-random bit of information I do NOT want to match
This is the end of this bit

This is a random bit of information from 0 to 1.
  This is a non-random bit of information I do want to match
This is the end of this bit

并且(尝试)以下正则表达式:

/This is a random bit(?:(?!NOT).)*?This is the end/g

为什么这不匹配?

Regexr.com链接:http://regexr.com/3db8m

我想要完成的事情:

1)根据行的部分字符串确定匹配

2)确定以行的部分字符串结尾的匹配

3)不基于匹配开始/结束内的一些随机字符串捕获。

修改

原始问题中提出的模式对于我对Regex的微薄理解来说完全过于复杂。此外,(?s)的建议是在regexr.com上抛出错误(ERROR:量词的目标无效),所以我在这里重构了这个问题。

如果确实有一种方法可以在编辑问题时编辑问题,我很抱歉没有找到编辑链接。我确实找到了这个编辑链接,因为这个问题被标记为重复的'并且之前已经回答过了。

恭敬地,一个不被理解的答案是没有答案的。作为这个以及我之前的问题所包含的信息的作者和寻求者,我说Maximilian Gerhardt的答案更正确(至少对我而言)。

此外,不知道这是否是这次编辑的预期?当我在桌面上留下足够大的凹痕时,我通常会使用StackOverflow。如果我误用了网站,我再次道歉:)

1 个答案:

答案 0 :(得分:-1)

不要将.与包含换行符的文字一起使用.. 工作示例:

http://regexr.com/3db92

enter image description here