its*_*lur 3 regex xslt xslt-2.0
我有以下元素作为更大的XML的一部分
<MT N="NonEnglishAbstract" V="[DE] Deutsch Abstract text [FR] French Abstract text"/>
Run Code Online (Sandbox Code Playgroud)
我需要对@V属性中的值进行一些格式化,只要它包含[DE],[FR]或任何两个大写字母代表方括号内的国家代码.
如果不存在这样的模式,我只需要编写@V没有任何格式的值.
我可以使用XSLT 2.0解决方案
我希望我可以使用matches()函数
<xsl:choose>
<xsl:when test="matches(@V,'\[([A-Z]{{2}})\]([^\[]+'">
//Do something
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@V"/>
</xsl:otherwise>
</xsl:choose>
Run Code Online (Sandbox Code Playgroud)
我认为你所需要的只是:
matches(@V,'\[[A-Z][A-Z]\]')
Run Code Online (Sandbox Code Playgroud)
你不必匹配整个字符串来获得true()...我告诉我的学生写一个尽可能短的注册表.
| 归档时间: |
|
| 查看次数: |
6688 次 |
| 最近记录: |