문제

마지막 밤하기로 결정했 배우 정규 표현식을 만들기 위해서는"시험"스크립트 파서 나는 성공적으로 수행되도록 관점에서의 변수)

이 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].정규 표현식 엔진하지 않는 일반적으로 제공 얻을 수있는 방법을 각각의 값이 일치해 *+ 별도로 합니다.

데모

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top