2014-02-19 25 views
1

我一直在使用下面的代碼與特定的字符串替換正則表達式'\s*AND\s*NOT\s*scope:\("TEXT"\)'只有當對手也occurr(non-matching-substring):我可以在<xsl:value-of select>中使用OR運算符嗎?

<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> 

它工作正常,但我現在需要包括另一條件在<xsl:non-matching-string>。是否可能在元素中包含OR條件,以便可以允許'AND facet_.*?:\(.*?\)''AND NOT facet_.*?:\(.*?\)'替換?

回答

1

您可以使用replace(., 'foo|bar', 'whatever')foo和/或bar子字符串替換爲whateverreplace的第二個參數是一個正則表達式,因此|允許選擇。

+0

非常感謝你!我一直在嘗試各種各樣的事情,而且非常簡單! – paranza

相關問題