 
			
				24.01.2013, 06:07
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 20.07.2012 
					
					
					
						Сообщений: 64
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				вопрос по регуляркам
			 
			
		
		
		
		Здравствуйте.  
Начал потихоньку осваивать регэксы. 
Есть у меня массив (234,357,3,6,96), хочу вытянуть из него последнюю цифру. Сделал:  
/\(\d*,\d*,\d*,\d*,(\d*)\)/
  в принципе меня устраивает, работает, но хочется углубиться. По факту массив может быть не из 5, а допустим из 20-30 цифр, не хочется нагромождения. 
Подскажите пожалуйста как рациональнее заменить?  
попробовал так: 
/\([\d*,]{4}?(\d*)\)/
 но что-то не то..  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось JustCrazy, 24.01.2013 в 06:32.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.01.2013, 09:03
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		JustCrazy,
  
alert("(234,357,3,6,96)".replace(/\(.+,(\d+)\)$/,"$1"));
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось рони, 24.01.2013 в 09:06.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.01.2013, 09:16
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от JustCrazy
			
		
	 | 
 
	| 
		Есть у меня массив (234,357,3,6,96)
	 | 
 
	
 
 С массивом лучше работать как с массивом.   
	
 
	| 
		
			Сообщение от JustCrazy
			
		
	 | 
 
	
		хочу вытянуть из него последнюю цифру. Сделал: 
/\(\d*,\d*,\d*,\d*,(\d*)\)/
  в принципе меня устраивает, работает
	 | 
 
	
 
 Не пойму что тебя там устраивает...    
var s='(234,357,3,6,96)';
var r=/\(\d*,\d*,\d*,\d*,(\d*)\)/;
alert(s.replace(r,''))
alert(s.search(r))
 
Показывает пусто и ноль...    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.01.2013, 09:30
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 20.07.2012 
					
					
					
						Сообщений: 64
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от ksa
			
		
	 | 
 
	
		Не пойму что тебя там устраивает...   
Показывает пусто и ноль...
	 | 
 
	
 
 у меня php код, все работает, как часы   
	
 
	| 
		
			Сообщение от ksa
			
		
	 | 
 
	| 
		С массивом лучше работать как с массивом.
	 | 
 
	
 
 вообще если начинать с самого начала, то это кусок исходного кода страницы, с которой я тяну этот массив, конечно можно вытянуть все от скобки до скобки, а потом эксплойдом распарсить и взять необходимое мне значение, но это можно сделать проще и по объему меньше через регулярки, которые я пытаюсь осваивать   
	
 
	
		
			Сообщение от рони
			 
		
	 | 
 
	
		JustCrazy, 
 
alert("(234,357,3,6,96)".replace(/\(.+,(\d+)\)$/,"$1"));
	 | 
 
	
 
 вот это хорошо, но как быть, если мне надо вытянуть какое то промежуточное значение, например 3е, или 4е, или 27е.. и т.д. ? извиняюсь, изначально немного неправильно вопрос поставил. 
есть что нибудь объединяющее пару символов повторяющихся ?  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось JustCrazy, 24.01.2013 в 09:40.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.01.2013, 09:42
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от JustCrazy
			
		
	 | 
 
	| 
		у меня php код, все работает, как часы
	 | 
 
	
 
 Покажи как используешь  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.01.2013, 09:49
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 20.07.2012 
					
					
					
						Сообщений: 64
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от ksa
			
		
	 | 
 
	| 
		Покажи как используешь
	 | 
 
	
 
 
$url='...';
$data = file_get_contents($url);
if (preg_match("/new\sstats\(\d*,\d*,\d*,\d*,\d*,\d*,\d*,\d*,\d*,(\d*),\d*,\d*,(\d*),\d*,\d*,\d*,\d*\)/i",$data,$lists))
	{ echo $list[1].$list[2]; } else { echo 'cant found'; }
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.01.2013, 09:50
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		JustCrazy, применительно к JS.    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.01.2013, 09:54
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 20.07.2012 
					
					
					
						Сообщений: 64
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от ksa
			
		
	 | 
 
	| 
		JustCrazy, применительно к JS.
	 | 
 
	
 
 если бы я еще знал JS.. имеются только поверхностные знания...
 
все же регулярки они и в африке регулярки.. и вопрос по упрощению остается открытым)  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.01.2013, 09:58
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от JustCrazy
			
		
	 | 
 
	| 
		если мне надо вытянуть какое то промежуточное значение, например 3е
	 | 
 
	
 
 Как вариант...   
var s='(234,357,3,6,96)';
var i=3;
s=s.substring(1,s.length-1);
alert(s.split(',')[3])
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.01.2013, 10:02
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от JustCrazy
			
		
	 | 
 
	| 
		если бы я еще знал JS.. имеются только поверхностные знания...
	 | 
 
	
 
 Во как будет на JS   
var s='(234,357,3,6,96)';
var r=/\(\d*,\d*,\d*,\d*,(\d*)\)/;
alert(s.replace(r,'$1'))
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 
 
 
 
	 | 
 
 
 |