Реклама на сайте Advertise with us

Подскажите на счет регулярки

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 11.03.13
Сообщения: 174
Рейтинг: 53

Ссылка на сообщениеДобавлено: 21/04/14 в 22:30       Ответить с цитатойцитата 

Решение найдено - файл с текстом был в кодировки windows-1251, а скрипт в UTF-8.

Хочу получить из текста предложения, использую.
Код: [развернуть]


Но на ряду со стандартными предложениями - которые начинаются с заглавной и заканчиваются .?!. Регулярка тянет и такие, начинающиеся с дефиса.
Ex.
— Хм… — Он будет очень послушный кот.

Что нужно подкорректировать, что бы выдавались только предложения где первая буква заглавная.
Всем заранее благодарен smail54.gif

Последний раз редактировалось: Reminder (22/04/14 в 09:39), всего редактировалось 1 раз

0
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 21/04/14 в 22:39       Ответить с цитатойцитата 

модификатор i попробуй убрать

крипта на ByBit

2
 



С нами с 11.03.13
Сообщения: 174
Рейтинг: 53

Ссылка на сообщениеДобавлено: 21/04/14 в 22:54       Ответить с цитатойцитата 

Sterx: - по прежнему предложения с дефисами тоже отдаются (

Массив
[1] => Конрад Лоренц Вместо вступления: Обыкновенная история Вы завели себе кота?
[2] => Вы долго выбирали, держали домашний совет.
[3] => — Нет, — говорил Хозяин, — кот в доме, это излишество.
[4] => — Милый, — ворковала Хозяйка, — он тебе ничуть не помешает, он будет невидимым и неслышимым… — Но вонючим, — не сдавался Хозяин.
[5] => — Нет-нет, — хватала его за рукав Хозяйка, — сейчас коты не такие…они не пахнут!
[6] => Их опрыскивают!

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 22/04/14 в 08:08       Ответить с цитатойцитата 

Пример текста и что из этого текста надо забрать?

3
 
+ + +


С нами с 18.03.14
Сообщения: 43
Рейтинг: 30

Ссылка на сообщениеДобавлено: 22/04/14 в 08:54       Ответить с цитатойцитата 

дык все работает.
Код:
<pre>
<?
$s = 'Конрад Лоренц Вместо вступления: Обыкновенная история Вы завели себе кота?
Вы долго выбирали, держали домашний совет.
— Нет, — говорил Хозяин, — кот в доме, это излишество.
— Милый, — ворковала Хозяйка, — он тебе ничуть не помешает, он будет невидимым и неслышимым… — Но вонючим, — не сдавался Хозяин.
— Нет-нет, — хватала его за рукав Хозяйка, — сейчас коты не такие…они не пахнут!
Их опрыскивают!';

preg_match_all('~[А-Я](.*?)[\.\!\?]~s', $s, $m);
var_dump($m[0]);

резалт:
Код:
array(6) {
  [0]=>
  string(74) "Конрад Лоренц Вместо вступления: Обыкновенная история Вы завели себе кота?"
  [1]=>
  string(42) "Вы долго выбирали, держали домашний совет."
  [2]=>
  string(52) "Нет, — говорил Хозяин, — кот в доме, это излишество."
  [3]=>
  string(126) "Милый, — ворковала Хозяйка, — он тебе ничуть не помешает, он будет невидимым и неслышимым… — Но вонючим, — не сдавался Хозяин."
  [4]=>
  string(78) "Нет-нет, — хватала его за рукав Хозяйка, — сейчас коты не такие…они не пахнут!"
  [5]=>
  string(15) "Их опрыскивают!"
}
никаких дефисов. что-то ты не то делаешь...

2
 



С нами с 11.03.13
Сообщения: 174
Рейтинг: 53

Ссылка на сообщениеДобавлено: 22/04/14 в 09:37       Ответить с цитатойцитата 

Проблема была из за того что файл с текстом имел кодировку windows-1251, а скрипт UTF-8, после преобразования кодировки
Код: [развернуть]

регулярка отработала правильно icon_wink.gif

1
 
+ + +


С нами с 18.03.14
Сообщения: 43
Рейтинг: 30

Ссылка на сообщениеДобавлено: 22/04/14 в 09:48       Ответить с цитатойцитата 

ну, ты на всякий случай экранируй символы .!?
я может чего забыл, но [.!?] - точка - любой символ. знак вопроса после ! - ноль или более воскл... то есть, правильнее будет [\.\!\?] - оно может и работает, но на всякий случай лучше экранировать... (да-да, тут в квадратных кавычках мы задаем набор символов, но это потом может стать причиной непоняток и багов...)
удачи!

всем мир!

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »