|
|
|
|
|
для: Trianon
(09.09.2009 в 23:41)
| | его utf-8 и имел ввиду
, с модификатором всёравно не работает \b метасимвол начала или конца слова
, а других, таких как [[:<:]] и [[:>:]] нету
, но возможно просто потому что utf-8 локаль не выставляется на xp
проверить где-то ещё сейчас нет возможности | |
|
|
|
|
|
|
|
для: heed
(09.09.2009 в 23:26)
| | preg-функции не работают с прямым юникодом - только с utf-8.
Но для работы с последним нужно применять соответствующий модификатор. | |
|
|
|
|
|
|
|
для: puper
(09.09.2009 в 23:03)
| | У меня если юникод (win32XP) не работает с \b
, только например так $re = '#(?<=\s)банк[^\s,.!?]*#iu'; | |
|
|
|
|
|
|
|
для: puper
(09.09.2009 в 23:03)
| | почему второе, это видимо потому что между ними не пробелы, а перенсы строк.
можно попробовать заменоить пробел на \s
, а вот почему часть , даже интересно, не смог получить такой эффект | |
|
|
|
|
|
|
|
для: heed
(09.09.2009 в 21:16)
| | Почему-то Ваше РВ не работает...
я вот тут, написал такое:
#банк[^ ,.!?]+#i
только почему-то иногда в массив заносится первое слово и часть второго | |
|
|
|
|
|
|
|
для: puper
(09.09.2009 в 19:30)
| | > из двух словоформ
не понял о чём речь,
но "мо" можно вставить например в такое выражение
<pre><?
$txt=<<<TXT
Банкир, банк. Банкротство можно избежать.
банкрот! банки? БАНК.
консервная банка
из под чего-нибудь
банкоматы, госбанк
банкомёты
TXT
;
$re = '#\bбанк[А-яЁё]*(?:\s+[А-яЁё]+)?#i';
preg_match_all($re, $txt, $array);
var_dump($array);
?>
|
>слова в результате не должны повторяться
проще сделать это с помощью array_unique(), но если не подходит, в preg_replace_callback() есть возможность обрабатывать результаты совпадений в процессе их нахождения
//поправил
забыл добавить модификатор i | |
|
|
|
|
|
|
| Помогите, пожалуйста, написать регулярку.
Есть текст:
Банкир, банк. Банкротство можно избежать.
банкрот! банки? БАНК.
при вводе слова "банк" получить слова, которые начинаются на него (в массиве):
Банкир
Банкротство
банкрот
банки
банк
При вводе словосочетания из двух словоформ начинающихся, например, на "банкротство мо", получить целую фразу из 2-х только слов, т.е.: "Банкротство можно"
(ЗАМЕТЬТЕ, что слова в результате не должны повторяться) | |
|
|
|
|