정규 표현 식 의'g'는 무슨 뜻 입 니까?첨부 파일 인자 g 의 용법 입 니 다.
4007 단어 정규 표현 식
요약 1:첨부 매개 변수 g 의 용법
표현 식 에 매개 변수 g 를 추가 하면 전역 적 으로 일치 할 수 있 음 을 표시 합 니 다.여기 서'가능 하 다'는 의 미 를 주의 하 십시오.우 리 는 상세 하 게 서술 했다.
1)표현 식 대상 의 exec 방법 에 대해 g 를 추가 하지 않 으 면 첫 번 째 일치 만 되 돌려 줍 니 다.몇 번 을 실행 하 든 마찬가지 입 니 다.g 를 추가 하면 첫 번 째 실행 도 첫 번 째 일치 로 되 돌아 가 고 두 번 째 일치 로 되 돌아 가 며 순서대로 유추 합 니 다.예컨대
var regx=/user\d/;
var str=“user18dsdfuser2dsfsd”;
var rs=regx.exec(str);// rs {user1}
var rs2=regx.exec(str);// rs {user1}
만약 regx=/user\d/g;rs 의 값 은{user 1}이 고,rs2 의 값 은{user 2}입 니 다.이 예 를 통 해 설명 합 니 다.exec 방법 에 대해 표현 식 은 g 를 추 가 했 습 니 다.exec 방법 을 실행 하면 모든 매 칭 을 되 돌 릴 수 있 는 것 이 아니 라 g 를 추가 한 후에 저 는 어떤 방식 으로 모든 매 칭 을 얻 을 수 있 습 니 다.여기 의'방식'은 exec 에 있어 서 순서대로 이 방법 을 실행 하면 됩 니 다.
2)표현 식 대상 의 test 방법 에 대해 g 를 넣 는 것 과 g 를 넣 지 않 는 것 은 별 차이 가 없다.
3)String 대상 의 match 방법 에 대해 g 를 추가 하지 않 고 첫 번 째 일치 만 되 돌려 줍 니 다.match 방법 을 계속 실행 하면 항상 첫 번 째 일치 로 돌아 갑 니 다.g 를 추가 하면 한 번 에 모든 일치 로 돌아 갑 니 다.(표현 식 대상 의 exec 방법 과 달리 exec 에 있어 서 표 달 식 은 g 를 추가 하 더 라 도 한 번 에 모든 일치 로 돌아 가지 않 습 니 다)예 를 들 면:
var regx=/user\d/;
var str=“user1sdfsffuser2dfsdf”;
var rs=str.match(regx);// rs {user1}
var rs2=str.match(regx);// rs {user1}
regx=/user\d/g 이면 rs 의 값 은{user 1,user 2}이 고 rs2 의 값 도{user 1,user 2}입 니 다.4)String 대상 의 replace 방법 에 대해 표현 식 이 g 를 추가 하지 않 으 면 첫 번 째 일치 만 바 꾸 고 g 를 추가 하면 모든 일치 만 바 꿉 니 다.(오 프 닝 세 문제 가 이 점 을 잘 설명해 준다)
5)String 대상 의 split 방법 에 g 를 추가 하 는 것 은 g 를 추가 하지 않 는 것 과 같 습 니 다.즉,:
var sep=/user\d/;
var array=“user1dfsfuser2dfsf”.split(sep);
array 의 값 은{dfsf,dfsf}입 니 다.이때 sep=/user\d/g,반환 값 은 같 습 니 다.
6)String 대상 의 search 방법 에 g 를 넣 든 말 든 마찬가지 입 니 다.
요약 2:추가 매개 변수 m 의 용법
추가 매개 변수 m 는 여러 줄 이 일치 할 수 있 음 을 나타 낸다.그러나 이것 은^와$모드 를 사용 할 때 만 작용 한다.다른 모드 에서 m 를 추가 하거나 추가 하지 않 아 도 여러 줄 이 일치 할 수 있다(사실은 여러 줄 의 문자열 도 일반 문자열 이다).우 리 는 예 를 들 어 이 점 을 설명 한다.
1)사용^의 예
var regx=/^b./g;
var str=“bd76 dfsdf
sdfsdfs dffs
b76dsf sdfsdf”;
var rs=str.match(regx);
이 때 g 를 추가 하 는 것 과 g 를 추가 하지 않 는 것 은 첫 번 째 일치{bd}만 되 돌려 줍 니 다.regx=/^b./gm 이면 모든 일치{bd,b7}을 되 돌려 줍 니 다.regx=/^b./m 이면 첫 번 째 일치 만 되 돌려 줍 니 다.따라서 m 가입 은 여러 줄 의 매 칭 을 할 수 있 음 을 나타 내 고 g 가입 은 전체 매 칭 을 할 수 있 음 을 나타 내 며 종합 하면 여러 줄 의 전체 매 칭 을 할 수 있 음 을 나타 낸다.2)다른 모델 을 사용 하 는 예,예 를 들 어
var regx=/user\d/;
var str=“sdfsfsdfsdf
sdfsuser3 dffs
b76dsf user6”;
var rs=str.match(regx);
이 때 인자 g 를 추가 하지 않 으 면{user 3}을 되 돌려 주 고,인자 g 를 추가 하면{user 3,user 6}을 되 돌려 주 며,m 를 추가 하지 않 으 면 영향 을 주지 않 습 니 다.3)따라서 m 에 대해 우 리 는 그것 의 사용 을 잘 알 아야 한다.이것 은^와$모드 에 만 작용 한 다 는 것 을 기억 해 야 한다.이 두 가지 모드 에서 m 의 역할 은 m 를 넣 지 않 으 면 첫 줄 에서 만 일치 할 수 있 고 m 를 넣 으 면 모든 줄 에서 일치 할 수 있다.우 리 는^의 예 를 하나 더 보 자.
var regx=/^b./;
var str=“ret76 dfsdf
bjfsdfs dffs
b76dsf sdfsdf”;
var rs=str.match(regx);
이때 rs 의 값 은 null 입 니 다.g 를 넣 으 면 rs 의 값 은 null 입 니 다.m 를 넣 으 면 rs 의 값 은{bj}(즉,첫 줄 에서 일치 하 는 것 을 찾 지 못 했 습 니 다.매개 변수 m 가 있 기 때문에 아래 줄 로 계속 가서 일치 하 는 지 찾 을 수 있 습 니 다).m 와 g 를 더 하면{bj,b7}(m 만 추가 하고 g 설명 을 추가 하지 않 으 면 여러 줄 로 일치 할 수 있 습 니 다.그러나 일치 하 는 것 을 찾 으 면 되 돌아 갑 니 다.g 를 추가 하면 여러 줄 의 모든 일치 하 는 것 을 되 돌려 줍 니 다.물론 match 방법 에 대해 서 는 이 렇 습 니 다.exec 에 대해 서 는 여러 번 실행 해 야 순서대로 돌아 갈 수 있 습 니 다)요약 3:HTML 의 textarea 입력 필드 에서 Enter 키 를 누 르 면 해당 하 는 제어 문 자 는'\r',즉'Enter 줄 바 꾸 기'입 니 다.'\r',즉'줄 바 꾸 기'가 아 닙 니 다.앞에서 우리 가 들 었 던 예 를 보 겠 습 니 다.
var regx=/a\r
bc/;
var str=“a
bc”;
var rs=regx.exec(str);
결과:일치 에 성 공 했 습 니 다.rs 의 값 은{}입 니 다.표현 식 이/a\rbc/이면 일치 하지 않 습 니 다.따라서 일반적인 편집기 에서'Enter'키 는'Enter 줄 바 꾸 기'가 아니 라'줄 바 꾸 기'를 의미 합 니 다.적어도 textarea 필드 에 서 는 이 렇 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.