• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Регулярное выражение (без учета регистра)

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Добрый день.

Как говорится: "Что-то я затупил". Помогите с регуляркой. C#, .NET, если это критично.

Есть задача: в тексте найти все вызовы функции PHP, при этом исключить определение экземпляра одноименного класса.

Пример:
Код:
Имя функции для поиска: someFunc () 
Найти: $res = someFunc (); 
Найти: echo (someFunc()); 
Найти: someFunc ($var); 
НЕ НАЙТИ: $oObj = new someFunc ();

Я пишу:

Код:
Regex functionCall = new Regex (@"[\s|^](?!\s*new\s+)" + 
function.Name + 
@"\s*\(", RegexOptions.IgnoreCase);

Регулярка находит ВСЕ, в том числе и класс. На (?!\s*new\s+) кладется с большим прибором. Где собака зарылась?
 
A

admin

Guest
Может быть, локаль не установлена.
Попробуй перед приведенным кодом добавить строку
Код:
setlocale (LC_CTYPE, "ru_RU.CP1251");
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!