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

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

Guest

#1
Добрый день.

Как говорится: "Что-то я затупил". Помогите с регуляркой. 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+) кладется с большим прибором. Где собака зарылась?
 

admin

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