regex(?:x) not work 
		
		
		
		Доброго времени суток. Пытаюсь разобраться с регулярками и прям на старте возникают проблемы с пониманием. Не могу понять как работает паттерн (?:x). 
	
function content(){
       str = 'foo bar';
        var res = str.match(/(?:foo)\w*/);
        for (i = 0; i < res.length-1; i++) {
            console.log('res['+i+'] = '+res[i]);
        }
    }
Ничего не выводит. Нужно что вы выводил "bar". Заранее благодарен.  | 
	
		
 попробуйте так 
	
function content(){
        var str = 'foo bar';
        var res = str.match(/(?:foo) (\w*)/);
        for (i = 0; i < res.length; i++) {
            console.log('res['+i+'] = '+res[i]);
        }
    }
res[0] - это полностью совпавшая строка res[1] - это первая скобка если бы вместо (?:foo) написать просто (foo), то в результат вошло бы и 'foo' тоже  | 
	
		
 http://www.regexr.com/ 
	Новый аккаунт?  | 
	
		
 str = 'foo bar'; var res = str.match(/(?:foo)\w*/); alert(res) "(?:foo)" - foo в незапоминающих скобках. В данном случае, поскольку к скобкам не добавлены никакие множители это равносильно просто "foo". "\w*" - 0 и более раз повторённый символ из диапазона [a-zA-Z0-9_]. В данном случае поскольку после foo идёт сразу пробел, получается вариант с 0 символов. В результате находит только "foo". Чтобы выводил bar если известно только foo: str = 'foo bar'; var res = str.match(/foo\s+(\w+)/); alert(res[1]) alert(res)  | 
	
		
 Ребята, а расскажите по подробней про это выражение, если можно с примерами, а то туториалах как то размыто и без примеров. 
	Заранее благодарен.  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 15:13. |