c# - 正则表达式匹配匹配字符串旁边不包含特定单词的字符串

标签 c# .net regex

我的文本如下

 1. This is                678         897        999
    not a text which I want


   2. This is                 678         897        879

我已将正则表达式应用为

This\s*is\s*(\s+\d+){1,}(?: ){0,}[\r\n]+

现在我想要的是匹配一个匹配字符串旁边没有 not 的字符串。我不希望正则表达式匹配第一个字符串。

编辑

假设我有 2 个如上所述的字符串,并且我应用了正则表达式,然后我发现了 2 个匹配

This is                678         897        999
This is                 678         897        879

到目前为止,一切都很完美,但现在我想要不包含 not(在第一个字符串中) 的正则表达式,我只想匹配第二个字符串。

最佳答案

This\s*is\s*(\s+\d+){1,}(?: ){0,}(?:[\r\n]+|$)(?!not)

只需添加lookahead。请参阅演示。

https://regex101.com/r/eB8xU8/8

关于c# - 正则表达式匹配匹配字符串旁边不包含特定单词的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35477392/

相关文章:

c# - 避免因锁定 WPF 而导致 UI 阻塞

java - 如何使用 JTS 或 NTS 找到曲线角点?

python - 使用正则表达式 Pandas 改变年龄

正则表达式匹配任何带引号的字符串或特定的不带引号的字符串

php - 使用正则表达式解析 SQL,排除带引号的文字

c# - 丢失了我的代码 visual studio 但仍然有发布文件夹,是否可以找回我的代码?

c# - WPF,MVVM和有效的导航/控制流程

c# - 将两个并行任务的结果合并到一个列表中

C# System.Security.Cryptography.HMACSHA1.ComputeHash() 不返回预期结果

c# - 使用 Entity Framework 保存 AutoMapper 映射的实体集合