Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Я нашел модуль Perl под названием Regexp:: Подстановочные знаки. Можно попытаться портировать его или попробовать Perl.NET. У меня есть чувство, что можно записать что-то сами также.
От Вашего примера выше, я напал бы на него как это (я говорю в общих чертах, потому что я не знаю C#):
Разбейте его ПОДОБНЫМ '...', поместите... части в массив. Замените незавершенные знаки %.*, подчеркивает., и в этом случае [C-P]arsen переводит непосредственно в regex.
Присоединитесь к частям массива назад вместе с каналом и перенесите результат в круглые скобки и стандарт regex биты.
Результат был бы:
/^(.*this.*|Sm.th|[C-P]arsen)$/
Самая важная вещь здесь состоит в том, чтобы опасаться всех способов, которыми можно выйти из данных, и которые подстановочные знаки переводят в который регулярные выражения.
% becomes .*
_ becomes .