C#以下正则表达式在大字符串上太慢

C#以下正则表达式在大字符串上太慢,c#,regex,filter,C#,Regex,Filter,我使用以下正则表达式过滤大字符串: (?m)(?(^*(?=.*\\btrue\\b)(?=.*\\ba\\b).*\\r*$)(.*)|(?!)) 这样做永远需要时间。我做错了什么?是我的模式有问题还是字符串的长度导致了延迟 请帮帮我。 提前感谢。好的,我觉得这个正则表达式可以处理多个单词(这里我使用的是两个单词的条件),与@Distisa指出的错误正则表达式相比,运算符和速度都很好。奇怪的是,即使是这一个工作,但需要永远产生的结果 (?i)(?m)^((?=.*\bword1\b)(?=.

我使用以下正则表达式过滤大字符串:

(?m)(?(^*(?=.*\\btrue\\b)(?=.*\\ba\\b).*\\r*$)(.*)|(?!))
这样做永远需要时间。我做错了什么?是我的模式有问题还是字符串的长度导致了延迟

请帮帮我。
提前感谢。

好的,我觉得这个正则表达式可以处理多个单词(这里我使用的是两个单词的条件),与@Distisa指出的错误正则表达式相比,运算符和速度都很好。奇怪的是,即使是这一个工作,但需要永远产生的结果

(?i)(?m)^((?=.*\bword1\b)(?=.*\bword2\b)).*[\r\n]*$.
以下是结果的屏幕截图:

这不是有效的正则表达式,因此可能与它有关,因为不知道如何正确解析它。你在说一个字符串有多长?我的字符串数据包含大约100万个字符。这并不是说它不工作,只是需要9-10秒。不使用正则表达式可能会更快,但只需手动处理解析本身。应该做什么?在beginn匹配多次?正如@Disposia指出的,这个正则表达式是无效的。我对正则表达式不太熟悉。如果这个正则表达式无效,我请求你们提供正确的正则表达式。目标是:获得包含单词“true”和“a”的每一行。