我使用C#正則表達式類下次重:排除從正則表達式字符串在C#
[^\r\n]+[^,"condicionesDePago"]
在接下來的文本搜索:
「CREDITO 30 DIAS」, 「condicionesDePago」
我想要得到的左半部分,在這種情況下:「CREDITO 30個DIAS」,但我只得到:「CREDITO 30
什麼即時消失?
我使用C#正則表達式類下次重:排除從正則表達式字符串在C#
[^\r\n]+[^,"condicionesDePago"]
在接下來的文本搜索:
「CREDITO 30 DIAS」, 「condicionesDePago」
我想要得到的左半部分,在這種情況下:「CREDITO 30個DIAS」,但我只得到:「CREDITO 30
什麼即時消失?
看起來你對字符類的用法有誤解。它不是用言語操作,而是用單個字符操作。 [^,"condicionesDePago"]
的這一部分表示一個字符應該匹配,只要它是而不是逗號,雙引號或該字中指定的字母表。
你可能打算用前瞻:
@"[^\r\n]+(?=,""condicionesDePago"")"
或者,這可以寫成如下,只要將不匹配\n
爲RegexOptions.Singleline
未指定(但能匹配\r
) :
@".+?(?=,""condicionesDePago"")";
如果你總是期望文本是上面的格式,那麼你可能想在你的對手明確:
"(\w+ [0-9]+ \w+)"(?=,"condicionesDePago")
這應該與Credit 30 Days(即模式字母數字字母 - \ w + [0-9] * \ w +),然後是condicionesDePago - (?=,「condicionesDePago」) - 稱爲積極預測。
我總是用http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx來測試我的正則表達式,但我敢打賭,其他人也有自己的喜好。
請看http://www.regular-expressions.info/tutorial.html – oberfreak