2015-05-09 2 views
1

У меня есть страница, и мне нужно разбить слова на ней на массив.Как разбить эти строки с помощью регулярного выражения

Мой файл как этот

dssds 
* Eski çağlarsda bazıhastaslıklara isyi geldisğine insan büyüslü söz 
dsds 
* Abramsak işi, idare. 
dsdsds 
* Abramsak işi, idare. 
dsdsds 
* Abramdak işi, idare. 

мне нужно поставить все слова, которые не имеют * в своей линии и которые имеют одно слово в одной строке в массиве. Если это может быть , как я могу это сделать с регулярным выражением?

Мой выходной массив должен быть как

[abrakadabra, abrsamaas ,abradsma ,aswabrama ] 

ответ

3

Вы можете просто использовать

^[^*]\S* 

это и сделать match вместо split .Увидь демо.

https://regex101.com/r/iV6mP5/2

$re = "/^[^*]\\S*/m"; 
$str = "abrakadabra\n* Eski çağlarda bazıhastalıklara iyi geldiğine inanılan büyülü söz\nabramaas\n* Abramak işi, idare.\nabradsma\n* Abramak işi, idare.\naswabrama\n* Abramak işi, idare."; 

preg_match_all($re, $str, $matches); 
+0

вы так много да свою работу, но есть проблема сейчас мой файл имеет 176000 линий (8 МАГИ) и preg_match_all он не работает с этим большим файлом. ваш код работает с тем, что я написал выше, но я получаю проблему, когда я использую его с этим большим количеством файлов – badr

+0

@ user44444 вы можете разделить файл или прочитать строки «1000» в одном или что-то в этом роде. – vks

+1

спасибо, много, я сделал это :) – badr

Смежные вопросы