0
그룹화, 그룹을 지정 : 문자열에서REGEX 다음과 같이 내가 정규식을 쓸 때 순서
/(.*)/(.*)
/aaa/bbb/ccc
나는 그룹 얻을 :
#1 aaa/bbb
#2 ccc
을하지만 그것을 싶습니다 같이 :
#1 aaa
#2 bbb/ccc
그룹화 순서를 변경하려면 어떻게해야합니까?
그룹화, 그룹을 지정 : 문자열에서REGEX 다음과 같이 내가 정규식을 쓸 때 순서
/(.*)/(.*)
/aaa/bbb/ccc
나는 그룹 얻을 :
#1 aaa/bbb
#2 ccc
을하지만 그것을 싶습니다 같이 :
#1 aaa
#2 bbb/ccc
그룹화 순서를 변경하려면 어떻게해야합니까?
이를 달성하기 위해 기본적으로 두 가지 방법이 있습니다 :
/(.*?)/(.*)
같은.*
일치 욕심, 가능한 한 최초의 .*
첫 경기 (그래서 =의 알림 문자열)을 입력 한 다음 슬래시가 일치 할 때까지 역 추적합니다. 지연 일치 (Lazy matching)는 다른 방식으로 작동하며 .*?
은 가능한 한 적은 수 (= 없음)와 일치하고 슬래시가 일치 할 때까지 확장됩니다.
/([^/]*)/(.*)
처럼 우리는 우리가 슬래시 전에 모든 것을 일치 할 것인지, 알다시피, 우리는 문자 클래스를 사용할 수있는 전진 슬래시가 무효화 된 후 다시 욕심이 일치합니다. 이것은 하나의 단계로 일치시킬 수있는 것처럼 더 효과적입니다. 대신 게으른 일치로 패턴을 확장하십시오.
감사합니다. – michalsol