정규 표현 식 의 $1, $2 와 실제 응용
예 를 들 어 (\ \ \ d {4}) (\ \ d {2}) (\ \ \ d {2}) "20190919" 와 일치 합 니 다. $1 은 첫 번 째 괄호 에서 일치 하 는 2019 이 고, 2 달러 는 두 번 째 괄호 에서 일치 하 는 09 이 며, 3 달러 는 세 번 째 괄호 에서 일치 하 는 19 이다.
그리고 간단 한 시간 포맷 함 수 를 실현 할 수 있 습 니 다.
// :yyyymmdd -> yyyy-mm-dd,type=true ,yyyy-mm-dd -> yyyymmdd
dateFormate (date, type) {
if (date) {
return type ? date.replace(/-/g, '') : date.replace(/^(\d{4})(\d{2})(\d{2})$/, '$1-$2-$3')
}
},
"20112233"
.replace(/^(\d{4})(\d{2})(\d{2})$/,
"$1-$2-$3"
)
"20112233"
.replace(/(\d{4})(\d{2})(\d{2})/,
"$1-$2-$3"
)
str. replace (reg, function () {}) 는 응용 하 는 곳 이 많 습 니 다. 가장 기본 적 인 것 은 str 가 숫자 입 니 다. 예 를 들 어 이 숫자 들 을 대문자 로 바 꾸 려 는 것 입 니 다.
var ary=[" "," "," "," "," "," "]
"123456".replace(/\d/g,function(i){
return ary[i - 1];
})
또 하나의 용법 은 문자열 을 바 꾸 지 않 고 replace 를 이용 하여 몇 번 일치 할 수 있 습 니 다. 이 function 은 몇 번 의 특성 을 수행 하여 일 을 합 니 다. 예 를 들 어 시간 문자열 을 포맷 하 는 등 입 니 다.
$1 -- $9 는 RegExp 가 직접 가지 고 있 습 니 다. 일치 하 는 것 을 풀 어 주면 있 습 니 다.test exec str 의 replace 는 모두 있 습 니 다.작은 괄호 안에 있 는 작은 정규 가 캡 처 한 내용 을 나 누 는 것 을 대표 합 니 다.
/^(\d{4})[\/-](\d{1,2})[\/-](\d{1,2})$/, , $1 $2 $3 。
var reg=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi");
var url="http://www.qidian.com/BookReader/1017141,20361055.aspx";
var rep=url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3");
, reg "()", `("(http://www.qidian.com/BookReader/)` ,`(\\d+)`,
$n n ,
$n 。
:
$1 : http://www.qidian.com/BookReader/
$2 : 1017141
$3 : 20361055
위의 replace 는 실제 콜론 뒤의 내용 으로 콜론 앞의 '$n' 을 대체 하 는 것 을 보 았 습 니 다. 콜론 뒤의 내용 은 실제 정규 안의 '()' 그룹 정규 표현 식 이 url 에 일치 하 는 내용 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.