我想捕捉任何内容,但不包括特定的模式。我的实际问题与解析HTML中的信息有关,但我将这个问题归结为一个例子,希望能够澄清我的问题。正则表达式 - 模式捕捉除了模式[.net]以外的所有内容
来源
xaxbxcabcabc
所需的匹配
xaxbxc
如果我使用一个超前的表达将捕获第一次出现
.*(?=abc) => xaxbxcabc
我想SOMET沿着一个否定的角色类别的行,只是为了一种否定的模式。
.*[^abc] //where abc as a pattern instead of a list giving anything but a, b or c
我使用http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx测试
[正则表达式是不解析HTML(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self -contained标签/ 17324 54#1732454) – 2011-02-23 19:35:58
你可能会发现http://regexhero.net/tester/也是一个很好的测试者。 – driis 2011-02-23 19:37:09
@ Mormegil使用'*?'的答案就是你想要的。只是供参考,它可能有一个负面的前瞻,所以你最后的代码块将变成'。*(?!abc)'。然而,这与你的情况似乎并不相关,也不是负面的后顾之忧。 '。*(?!abc)'会从您的示例中捕获'xaxbxcabcabc','。*(?<!abc)'会捕获'xaxbxcabcab'。 – 2011-02-23 20:10:24