Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Регулярочка ...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
armancho7777777 Супермодератор
Отправлено: 23 Сентября, 2012 - 11:16:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Всем привет!

Проблема такого рода:
произвожу поиск по началу строки:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var pattern = new RegExp('^'+res_match, 'i');
  3. if(pattern.test(str))
  4. {
  5.    ///
  6. }
  7.  

Но если встречается точка в строке, то регулярка не срабатывает.
Пробовал так:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. str = 'ar.man';
  3. if(pattern.test(str.replace(/\./g, '\\.')))
  4. {
  5.    //
  6. }
  7.  

но тщетно.
Может подскажет кто ?
CODE (javascript):
скопировать код в буфер обмена
  1. if(str.search(pattern) != -1)

тоже не работает, если точка в строке попадается.

(Отредактировано автором: 23 Сентября, 2012 - 11:17:20)

 
 Top
Саныч
Отправлено: 23 Сентября, 2012 - 11:26:01
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




armancho7777777, не совсем понял. Можно по-проще, к примеру: вот строка, вот регулярка которой пробую, не работатет.
Меньше слов короче Улыбка


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
armancho7777777 Супермодератор
Отправлено: 23 Сентября, 2012 - 11:27:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Саныч пишет:
вот строка, вот регулярка которой пробую

А в моём сообщении что ?
 
 Top
Panoptik
Отправлено: 23 Сентября, 2012 - 11:28:04
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




честно говоря както всё меторно
действительно можно конкретно описать задачу: входная строка. и что нужно получить на выходе


-----
Just do it
 
 Top
armancho7777777 Супермодератор
Отправлено: 23 Сентября, 2012 - 11:28:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Panoptik пишет:
действительно можно конкретно описать задачу: входная строка. и что нужно получить на выходе

Да Вы что, прикалываетесь ???
А там что ???
 
 Top
Саныч
Отправлено: 23 Сентября, 2012 - 11:31:11
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




armancho7777777, ок, посмотрите на свой первый пример
CODE (javascript):
скопировать код в буфер обмена
  1. var pattern = new RegExp('^'+res_match, 'i');
  2. if(pattern.test(str))
  3. {
  4.    ///
  5. }
А теперь ответе, что в res_match и в str.
Всего лишь это и интересует

(Отредактировано автором: 23 Сентября, 2012 - 11:32:31)



-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Мелкий Супермодератор
Отправлено: 23 Сентября, 2012 - 11:32:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




armancho7777777 пишет:
произвожу поиск по началу строки

CODE (javascript):
скопировать код в буфер обмена
  1. str.toLowerCase().indexOf( find.toLowerCase() )==0
?


-----
PostgreSQL DBA
 
 Top
Panoptik
Отправлено: 23 Сентября, 2012 - 11:32:29
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




ну блин откуда знать что попадает в переменную res_match - это первое
armancho7777777 пишет:
if(pattern.test(str.replace(/\./g, '\\.')))
вот тут что за паттерн в реплейсе? он какойто неправильный вроде


-----
Just do it
 
 Top
armancho7777777 Супермодератор
Отправлено: 23 Сентября, 2012 - 11:39:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Саныч пишет:
А теперь ответе, что в res_match и в str.

armancho7777777 пишет:
произвожу поиск по началу строки:

(Добавление)
armancho7777777 пишет:

(Добавление)
Panoptik пишет:
вот тут что за паттерн в реплейсе? он какойто неправильный вроде

Ну это я уже думал может таким образом точку в строке экранироать.
 
 Top
Panoptik
Отправлено: 23 Сентября, 2012 - 11:43:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




что то я не доганяю. если вы делаете поиск по началу строки, зачем вам регулярка. вот ответ Мелкого


-----
Just do it
 
 Top
Саныч
Отправлено: 23 Сентября, 2012 - 11:45:15
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Panoptik +1
И кстати, зачем экранировать точку в строке В КОТОРОЙ производится поиск?
(Добавление)
armancho7777777 пишет:
произвожу поиск по началу строки...
...Но если встречается точка в строке, то регулярка не срабатывает.
Понятно что она не сработает, в шаблоне то ее (точки) нет...
В чем вопрос я не могу понять?


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
armancho7777777 Супермодератор
Отправлено: 23 Сентября, 2012 - 11:47:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Мелкий, блин, на регулярке зациклился и про indexOf не подумал ))
Спасибо !)
(Добавление)
Саныч пишет:
в шаблоне то ее (точки) нет...

armancho7777777 пишет:
CODE (javascript):
скопировать код в буфер обмена
  1. RegExp('^'+res_match

Тема закрыта!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB