Из 10000 строк данных мне нужно получить все строки, которые не содержат слова, которые начинаются как "en" или "it" или "de" и т. Д., То есть от 2 до5 длинных az и AZ с «-» тоже (знак минус) и «;»
Я пробовал это, но не работает
!preg_match("/\b(it|en|de|es|fr|ru)[a-zA-Z-;]{2,5}/", $value)
это будет прочитано (для меня) donне совпадают, все строки имеют слова, начинающиеся с него, en и т. д. состоят из 2–5 символов и в этих 5 символах могут также содержаться символы «-» или «;».
Это возвращает мне строкис этим;"который я должен исключить.
РЕДАКТИРОВАТЬ: мне нужно сопоставить каждое слово, которое начинается с этих 2 символов ( it или en или de ) и может быть везде в строке
Пример для сопоставления (он не содержит слов, начинающихся с "en", "de" и т. д.)
GET; SITE; 15:03:03; ; Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1; .NET4.0C);
Пример не дляmatch (оно содержит слово, начинающееся с «en»)
GET; SITE; 13:06:49; ; Mozilla/4.0 (compatible; **en;** MSIE 8.0; Windows NT 6.1; Trident/4.0; SIMBAR={E76F6580-EB92-49A3-A089-F6B8B9DEA9AA}; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; eSobiSubscriber 2.0.4.16; Media Center PC 5.0; SLCC1; .NET4.0C); ;