[javascript] Javascript에서 정규식 하위 문자열 일치를 어떻게 바꿀 수 있습니까?
var str = 'asd-0.testing';
var regex = /asd-(\d)\.\w+/;
str.replace(regex, 1);
전체 문자열 str
을 1
. 전체 문자열 대신 일치하는 하위 문자열을 바꾸고 싶습니다. Javascript에서 가능합니까?
답변
var str = 'asd-0.testing';
var regex = /(asd-)\d(\.\w+)/;
str = str.replace(regex, "$11$2");
console.log(str);
또는 문자열에 다른 숫자가없는 것이 확실한 경우 :
var str = 'asd-0.testing';
var regex = /\d/;
str = str.replace(regex, "1");
console.log(str);
답변
사용 str.replace(regex, $1);
:
var str = 'asd-0.testing';
var regex = /(asd-)\d(\.\w+)/;
if (str.match(regex)) {
str = str.replace(regex, "$1" + "1" + "$2");
}
편집 : 주석에 대한 적응
답변
나는 당신이 교체하고 싶은 것을 전후에 부품을 얻고 양쪽에 놓을 것입니다.
처럼:
var str = 'asd-0.testing';
var regex = /(asd-)\d(\.\w+)/;
var matches = str.match(regex);
var result = matches[1] + "1" + matches[2];
// With ES6:
var result = `${matches[1]}1${matches[2]}`;
답변
목표를 달성하는 가장 간단한 방법은 다음과 같습니다.
var str = 'asd-0.testing';
var regex = /(asd-)(\d)(\.\w+)/;
var anyNumber = 1;
var res = str.replace(regex, `$1${anyNumber}$3`);