|
|
|
| Как написать регулярное выражение
Чтоб находило это:
двор+улица;
или это:
улица;
или это:
двор; | |
|
|
|
|
|
|
|
для: Чайка
(16.10.2007 в 16:52)
| | Откуда это нужно находить и зачем? | |
|
|
|
|
|
|
|
|
для: Чайка
(16.10.2007 в 18:02)
| | То есть нужно просто узнать, есть ли в тексте слова "улица+двор", "улица" или "двор" ?
В таком случае, наверное, удобно будет воспользоваться чем-то вроде stristr()
if (stristr($text, "двор") && stristr($text, "улица"))
{
***
}
// рег. выражениями будет что-то вроде
if (preg_match("/^(?=.*улица)(?=.*двор)/is", $text))
{
***
}
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(16.10.2007 в 18:17)
| | Большое человеческое спасибо!
А что означает запись ?=.* | |
|
|
|
|
|
|
|
для: Чайка
(16.10.2007 в 18:21)
| | ?= - это опережающая проверка.
Вроде, неплохие статьи. Во второй как раз есть про "?="
http://www.phpclub.ru/detail/article/regexp_1
http://phpclub.ru/detail/article/regexp_2 | |
|
|
|
|
|
|
|
для: kasmanaft
(16.10.2007 в 18:17)
| | ИМХО, проще так:
if (preg_match("/улица|двор/i", $text))
{что-то из них есть в строке}
|
| |
|
|
|
|
|
|
|
для: SHAman
(17.10.2007 в 12:34)
| | Ну просили вообще-то не "что-то", а "и то, и то" ;) | |
|
|
|
|
|
|
|
для: kasmanaft
(17.10.2007 в 15:16)
| | На сколько я понял, нужно проверять на наличие в строке слов "улица, двор". Причем считать успешной проверку, если есть либо одно из этих слов, либо оба. Я не правильно понял условие? | |
|
|
|
|
|
|
|
для: SHAman
(18.10.2007 в 13:17)
| | Не знаю.. я понял что, если есть оба слова, то нужно делать что-то одно, если есть одно из них, то другое. | |
|
|
|