我试图找出一种方法来删除正则表达式中匹配前的字符串中的所有文本。我用C#编写了这个代码。例如,如果字符串是“hello,test matching”,并且模式是“test”,我希望最终结果是“测试匹配”(即在测试之前删除所有内容)。正则表达式+删除所有文本之前
有什么想法?谢谢!
编辑:在阅读您的回复(并感谢他们)之后,我应该在我的示例中更具体一些。我喜欢lookahead方法,但我简化了我的例子。为了让事情变得更加困难,通常琴弦的样子:
“你好,测试匹配测试everythingAfter”
所以,如果我使用模式“测试”,它会赶上的第一个。我的目标是在第二场比赛后替换所有文字。即:导致“测试everything.fter”....对此感到抱歉。
我不是C#不够熟悉而写码。但是,请勿使用RegEx,请使用基本的字符串方法。 *搜索*找到发生,比使用* substring *捕获* *后的所有内容。 – 2012-01-12 19:33:20
对于您试图删除的模式,它们总是字符串还是有时是实际的正则表达式?如果前者使用'IndexOf'和'Substring'并且避免你不需要的性能惩罚。 – 2012-01-12 19:54:56
可能的重复:[从字符串中删除文本,直到达到某个字符](http://stackoverflow.com/q/8371922/299327) – 2012-11-28 15:23:06