정규 표현 식 이나 일치 - [] 과 | (우선 일치)
질문
이 문 제 를 보고 첫 번 째 반응 에 적 힌 코드 는 다음 과 같다.
let str = "1111111111111111111112"
//
let reg = /[11 1 2]/g
// replace
str.replace(reg, function(match){
//
})
상기 코드 에서 11 과 영원히 일치 하지 않 고 1 과 2 만 일치 하 는 것 을 발견 할 수 있 습 니 다.정규 표현 식 에서 [] 괄호 에 있 는 요 소 를 생각 했 는데 우선 순위 가 없 기 때문에 1 이 1 과 일치 하고 11 이 영원히 1 로 차단 되 었 습 니 다.
그러면 어떻게 하면 11 의 우선 순 위 를 1 의 앞 에 올 릴 수 있 을까요?
이리 저리 생각 하 다가 마침내 "|" 이라는 것 이나 조작 부호 가 생각 났 다.우선, | [] 와 같은 것 은, 모두 또는 조작 부호, 모두 일치 합 니 다.분명 다른 점 이 있 을 거 라 고 생각 합 니 다. 그래서 대담 한 테스트 를 통 해 1 판 문 제 는 마침내 해결 되 었 습 니 다. |앞 에 놓 인 요소 와 일치 합 니 다.
(여기 서 한 가지 문제 가 있 습 니 다. 예전 에 [] 를 잘 이해 하지 못 한 원인 으로 인해 발생 한 것 입 니 다. 바로 [11, 12] 일치 하 는 것 은 1 과 빈 칸 에 두 세 글자 가 있 습 니 다)
제2판 코드
let str = "1111111111111111111112"
//
let reg = /11|1|2/g
// replace
str.replace(reg, function(match){
//
console.log(match)// 11 11, 1
})
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.