거대한 문자열을 분석하려고하는데 XSLT에서 두 개의 다른 메소드를 사용하고 있습니다 (하나는 tokenize이고 다른 하나는 analyze 문자열이라고합니다).XSLT는 string과 tokenazation을 적절히 분석합니다.
한다고 가정 나는 다음과 같은 문자열이 : 나는 각 데이터의 항목을 만들려고 해요로
var ActivitiesData =
[{"method": {"name": "Bras", "val": "Vegas"},
"laundry": "-<a href=\"http://www.site.com\" target=\"_blank\">OnCase</a>: #9",
"XSD": "true",
"stages": [{"name": "on_site", "DB": "12", "OVL": true, "RVT: "BGD"}, {"name": "on_site", "DB": "12", "OVL": true, "RVT": true}],
"NationalUsage": "Degree",
"Overlay": 32,
"Build_Tick": "12",
"Mozilla": {"Cloud": "Visual", "Decrease": "10"},
"updates": "XXX",
}]
내 문제가 제기합니다. 내 REGEX는 다음과 같습니다 (., ', \ s + "'). 즉, a, '가 매치 할 때마다 한 데이터를 다른 데이터로 구별 할 수 있습니다. 나는 단계의 차일로를 만들 때
하지만, 나는 이러한 문자열이 단계 데이터에
(') 때문에 나는 개별 항목으로 그들을 만드는거야 -라는 특별한 아이템 요소를 생성 < stage-itmes >.
즉, 다음과 같은 문자로 시작하는 데이터를 볼 때만 "[{"(단계적으로)) 나는 나중에 텍스트를 다른 형식으로 다시 포맷하려고합니다. 이 토큰 화 문자열 (, ')을 사용하면이 문자열이 일치하지 않습니다.
나는 분명히 자신을 expalin 수 있었으면 좋겠어, 나는 그것을 할 잘못된 방법을 사용하고 있습니다. 내가 얻고 싶은 최종 결과는 다음과 같습니다
<item>
"method": {"name": "Bras", "val": "Vegas"},
</item>
<item>
"laundry": "-<a href=\"http://www.site.com\" target=\"_blank\">OnCase</a>: #9",
</item>
<item>
"XSD": "true",
</item>
<item>
"stages": [{"name": "on_site", "DB": "12", "OVL": true, "RVT: "BGD"}, {"name": "on_site", "DB": "12", "OVL": true, "RVT": true}],
</item>
..and so on..
독특한 무언가 (') 문자열을 대체하기 위해이 단계 데이터를 잡으려고 노력하면서 내가 사용한 분석 문자열 즉 어떤 나중에하지 않습니다 내 토큰 화에 걸려 개별 요소를 만듭니다.
<xsl:variable name="pTokenize">
<xsl:analyze-string select="normalize-space($activitiesDataText)" regex="("stages":[^\]]*)">
<xsl:matching-substring>
<xsl:value-of select="replace(regex-group(1), ', '', ',-'')"/>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="regex-group(1)"/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:variable>
대단히 고마워요!