У меня возникают проблемы с получением правильного регулярного выражения для текущей тестовой записи.Регулярное выражение с отрицательным взглядом, охватывающее несколько строк.
Пример TestCase:
#include <stdio.h>
#include <stdlib.h>
#include <foo_file.h>
int myint = atoi(foostring1);
float myfloat = atof(foostring2);
int myint2 = atoi(foostring3);
использования:
- строка содержит atof и
- строка оленья кожа содержит строку stdlib.h
- Группы DonT значения. Я просто хочу знать, существует ли строка или нет.
С регулярным выражением
(?=^#include <stdlib.h>).*atof
я могу найти, если файл содержит STDLIB заголовок и atof. Прекрасно работает. Однако я не могу показаться, чтобы получить отрицательный взгляд вперед регулярное выражение, как
(?!(?=.*^#include <stdlib.h>)).*(atoi)
Я перепробовал много часов различных итераций выше регулярное выражение линии, но не могу заставить его работать.
Пусть движок регулярных выражений в среде IDE я использую позволяет подобрать по новой/линии возврата символов и позволяет мне выбрать то, что регулярное выражение парсер/двигатель я хочу использования (но обычно я использую в Perl)
Что такое * negative look forward * regex должен уступить? – acdcjunior
Попробуйте добавить '\ A' в начало вашего регулярного выражения. –