Xslt 我可以在<;中使用OR运算符吗;xsl:select>;的值;?

Xslt 我可以在<;中使用OR运算符吗;xsl:select>;的值;?,xslt,xslt-2.0,boolean-expression,Xslt,Xslt 2.0,Boolean Expression,我一直在使用下面的一段代码来替换正则表达式'\s*和\s*NOT\s*作用域:\(“TEXT”\)',仅当匹配不发生时(不匹配的子字符串): 它工作正常,但我现在需要在中包含另一个条件。是否可以在元素中包含OR条件,以便允许替换”和facet.*?:\(.*?)'和”而不是facet.*?:\(.*?) 您可以使用replace(,'foo | bar','whatever')将foo和/或bar子字符串替换为whatever。replace的第二个参数是正则表达式,因此|允许其他参数。非常

我一直在使用下面的一段代码来替换正则表达式
'\s*和\s*NOT\s*作用域:\(“TEXT”\)'
,仅当匹配不发生时(
不匹配的子字符串
):



它工作正常,但我现在需要在
中包含另一个条件。是否可以在元素中包含OR条件,以便允许替换
”和facet.*?:\(.*?)'
”而不是facet.*?:\(.*?)

您可以使用
replace(,'foo | bar','whatever')
foo
和/或
bar
子字符串替换为
whatever
replace
的第二个参数是正则表达式,因此
|
允许其他参数。

非常感谢!我一直在尝试各种各样的事情,它是如此简单!
<xsl:template name="strip-scopes">
                <xsl:param name="q" />
                <xsl:analyze-string select="$q" regex='\s*AND\s*NOT\s*scope:\("TEXT"\)'>
                        <xsl:matching-substring></xsl:matching-substring>
                        <xsl:non-matching-substring>
                   <xsl:value-of select="replace(replace(.,'AND \(scope:.*?\)',''), 'AND facet_.*?:\(.*?\)', '')"/>
                        </xsl:non-matching-substring>
                </xsl:analyze-string>
    </xsl:template>