Если вы используете JavaScript , первое решение , предоставленное cletus, (?<=\[)(.*?)(?=\])
, не будет работать, поскольку JavaScript не поддерживает оператор lookbehind.
Однако второе решение работает хорошо, но вам нужно получить второй соответствующий элемент.
Пример:
var regex = /\[(.*?)\]/;
var strToMatch = "This is a test string [more or less]";
var matched = regex.exec(strToMatch);
Будет возвращено:
["[more or less]", "more or less"]
Итак, вам нужно второе значение. Использование:
var matched = regex.exec(strToMatch)[1];
Для возврата:
"more or less"