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

  • Автор темы 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");
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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