A s3regex 검색으로 값은 하나 또는 그룹
-
21-12-2019 - |
문제
마지막 밤하기로 결정했 배우 정규 표현식을 만들기 위해서는"시험"스크립트 파서 나는 성공적으로 수행되도록 관점에서의 변수)
이 is a s3regexp 는 구문 분석하는 데 사용 변수(확실하지 않은 경우 간소화할 수 있습니다 하지만 이것은 무엇인가 내 마음):
/\s*>(\w+)\s*=\s*(?:(?:"(.*?)")|>(\w+))\s*/gsm
구문 분석된 변수이 형식으로(예제 1):
>ReferenceTestVariable = "Hello World"
니다.(예제 2):
>TestVariable2 = >ReferenceTestVariable
문제는 그룹이지 내가 알지 못하는 방법을 말씀이 제대로 하지만 이것은 내 regexp 출력 예 1 으로 배열
[1]=ReferenceTestVariable, [2]=Hello World, [3]=
이것은 출력에 대한 예제 2:
[1]=TestVariable2, [2]=, [3]=ReferenceTestVariable
어떻게 수정 그룹의 운영자 후 =
그래서 그것을 만들 수 있도록 지수[2][3]참고로 인덱스의 2 및 3 값 변수에 저장?또한 내가 어떻게 수정하는 정규 표현식을 허용 무언가 이것을 좋아한다:
>Test = "String", >Referencevariable, "Another String", "More strings", >Variable2
해결책
나는 생각이 그것을 해야 하:
/\s*>(\w+)\s*=\s*(".*?"|>\w+)/gsm
index[2]
이 있을 것이 주위에 따옴표 그것은 경우에는 1 또는 시작 >
는 경우 2.
두 번째 작업을 수행,그것은 것:
/\s*>(\w+)\s*=\s*((?:(?:".*?"|>\w+)\s*,\s*)*(?:".*?"|>\w+))/gsm
그러나 이렇게 하면 모든 쉼표로 구분한 값을 함께 할 것입 index[1]
.정규 표현식 엔진하지 않는 일반적으로 제공 얻을 수있는 방법을 각각의 값이 일치해 *
나 +
별도로 합니다.
제휴하지 않습니다 StackOverflow