我有以下元素作为较大 XML 的一部分
<MT N="NonEnglishAbstract" V="[DE] Deutsch Abstract text [FR] French Abstract text"/>
我需要对其中的值进行一些格式化@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>
我想你所需要的只是:
matches(@V,'\[[A-Z][A-Z]\]')
您不必匹配整个字符串即可获得true()
...我告诉我的学生写尽可能短的正则表达式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)