Вот мой тест для с матча # регулярное выражение:C матч # регулярное выражение всегда возвращает ложь
AAA
BB
AAA+15d
BB-205w
Узор я использовал это: @"^(AAA|BB)([\+|\-]\d+[d|w])*$"
, когда я проверить его в Интернете в некоторых .net регулярных выражений тестером, он говорит матч , но когда я запускаю его в кодах C#, всегда возвращайте false для последних двух тестовых случаев. Что не так с шаблоном?
Покажите свой C# код. BTW вам не нужно '' '(изменение) в классе символов. '[+ -]' и '[dw]' будут в порядке. –
Regex действительно работает, но может немного улучшиться до ['^ (AAA | BB) ([+ -] \ d + [dw]) * $'] (http://regexstorm.net/tester?p=% 5e (ААА% 7cBB) (% 5b% 2b-% 5d% 5CD% 2b% 5bdw% 5d) *% 5cr% 3f% 24 & я = ААА% 0d% 0aBB% 0d% 0aAAA% 2b15d% 0d% 0aBB-205W & о = м) –
var pattern = @ "^ (AAA | BB) ([+ -] \ d + [DW]) * $"; bool isMatch = Regex.IsMatch (шаблон, "AAA + 180D", RegexOptions.IgnoreCase); –