我想捕捉任何內容,但不包括特定的模式。我的實際問題與解析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