lazalu68
@lazalu68
Salmon

Как регуляркой найти все вхождения строк в другие строки?

Может плохо объяснил, но имеется в виду, например, найти двухзначные числа в скобках:

101 20 (3 42 56) 71 1 6570 ( 40 146 16)
  • Вопрос задан
  • 428 просмотров
Решения вопроса 1
Я бы в 2 этапа делал. Сначала взял всё что в скобках, а потом уже в найденном нашёл значения из 2 цифр
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Snewer
~\([^\)](\d\d\)[^\)])~
Ответ написан
xpert13
@xpert13
Full Stack Developer
Никак, регулярки не поддерживают уровни вложенности. Если так сильно хотите решить эту задачу именно регулярками, тогда вам нужно разбить решение на этапы:
1. Первая регулярка ищет все скобки (и их содержимое)
2. Вторая ищет двузначные числа уже среди того, что нашла первая
Ответ написан
Bowen
@Bowen
Японский бог
Попробуйте так:
var txt = '101 20 (3 42 56) 71 1 6570 ( 40 146 16)';
var ar = txt.match(/\(([^()]+)\)/g);
ar.forEach(function(item) {
	var a = item.replace(/\(|\)/g, "").split(" ");
	a.forEach(function(item) {
		if (item.length === 2) {
			console.log(item);
		}
	});
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы