| 
	| 
	
	| 
		
	| 
			
			 
			
				23.09.2012, 12:09
			
			
			
		 |  
	| 
		
			
			| Интересующийся     |  | 
					Регистрация: 08.04.2011 
						Сообщений: 10
					 
		
 |  |  
	| 
				Регулярка ...
			 Всем привет! 
Проблема такого рода: 
произвожу поиск по началу строки:
 
var pattern = new RegExp('^'+res_match, 'i');
if(pattern.test(str))
{
   ///
}
Но если встречается точка в строке, то регулярка не срабатывает. 
Пробовал так:
 
str = 'ar.man';
if(pattern.test(str.replace(/\./g, '\\.')))
{
   //
}
но тщетно. 
Может подскажет кто ?
 
if(str.search(pattern) != -1)
 тоже не работает, если точка в строке попадается.			 Последний раз редактировалось Арман, 23.09.2012 в 12:17.
 |  |  
	| 
		
	| 
			
			 
			
				23.09.2012, 13:19
			
			
			
		 |  
	| 
		
			|  | Матрос       |  | 
					Регистрация: 04.04.2008 
						Сообщений: 6,246
					 
		
 |  |  
	| 
	
 
	| Сообщение от Арман |  
	| res_match |  
	
 Если вы хотите сделать из этой переменной регулярку точно соответсвующую этой строке, то надо в ней все экранировать - точки, слеши, скобки всех мастей |  |  
	| 
		
	| 
			
			 
			
				23.09.2012, 15:42
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 31.05.2012 
						Сообщений: 396
					 
		
 |  |  
	| Gvozd правильно сказал, но если нужно проверить, не начинается ли строка з заданной подстроки, то лучше для этого использовать обычный цикл, а не регулярку. |  |  
	| 
		
	| 
			
			 
			
				23.09.2012, 15:46
			
			
			
		 |  
	| 
		
			|  | Тлен       |  | 
					Регистрация: 02.01.2010 
						Сообщений: 6,601
					 
		
 |  |  
	| 
	
 
	| Сообщение от oneguy   |  
	| использовать обычный цикл, а не регулярку. |  
	
 Вы имели ввиду обычный indexOf?
				__________________ 29375, 35
 |  |  
	| 
		
	| 
			
			 
			
				23.09.2012, 16:03
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 31.05.2012 
						Сообщений: 396
					 
		
 |  |  
	| 
	
 
	| Сообщение от Aetae |  
	| Вы имели ввиду обычный indexOf? |  
	
 Нет, цикл for или while. |  |  
	| 
		
	| 
			
			 
			
				23.09.2012, 16:30
			
			
			
		 |  
	| 
		
			
			| Интересующийся     |  | 
					Регистрация: 08.04.2011 
						Сообщений: 10
					 
		
 |  |  
	| 
	
 
	| Сообщение от oneguy |  
	| если нужно проверить, не начинается ли строка з заданной подстроки, то лучше для этого использовать обычный цикл, а не регулярку. |  
	
   
Вы, наверно, кроме 
 
	
 
	| Сообщение от oneguy   |  
	| цикл for или while |  
	
 ничего не знаете ?) 
Форум javascript) 
Вторая тема, и от таких бредовых ответов больше и спрашивать тут ничего не хочется...
 
Ответ:
 
if(str.toLowerCase().indexOf(res_match.toLowerCase()) == 0)
{
   //
}
			 Последний раз редактировалось Арман, 23.09.2012 в 16:34.
 |  |  
	| 
		
	| 
			
			 
			
				23.09.2012, 16:53
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 28.03.2011 
						Сообщений: 5,418
					 
		
 |  |  
	| Чем ответ Gvozd Вас не устраивает? И что находится в res_match? |  |  
	| 
		
	| 
			
			 
			
				23.09.2012, 17:27
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 31.05.2012 
						Сообщений: 396
					 
		
 |  |  
	| 
	
 
	| Сообщение от Арман |  
	| Ответ: 1	if(str.toLowerCase().indexOf(res_match.toLowerCase  ()) == 0)
 2	{
 3	   //
 4	}
 |  
	
 Мен кажется, так делать обычно хуже, поскольку если подстрока не будет найдена вначале, то indexOf будет её искать по всей строке, что является лишней тратой процессорного времени. |  |  
	| 
		
	| 
			
			 
			
				23.09.2012, 17:28
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 22.03.2012 
						Сообщений: 3,744
					 
		
 |  |  
	| 
	
 
	| Сообщение от Арман |  
	| ничего не знаете ?) Форум javascript)
 Вторая тема, и от таких бредовых ответов больше и спрашивать тут ничего не хочется...
 |  
	
 да, вали, скатертью дорожка, раз ума много, не надо было даже и начинать спрашивать, а спрашивать, чтобы потом сказать, какие все тупые, для этого у нас есть президент (сейчас в заслуженном отпуске) |  |  
	| 
		
	| 
			
			 
			
				23.09.2012, 17:37
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 22.03.2012 
						Сообщений: 3,744
					 
		
 |  |  
	| лажанул с +, буду исправляться   
UPD: исправился  			 Последний раз редактировалось bes, 23.09.2012 в 17:49.
 |  |  |  |