XPath: "nur ganzes Wort (über die matches-Funktion mit der groß-und Kleinschreibung flag)

Verwendung von XPath, ich möchte "nur ganzes Wort" (option für Benutzer, genau wie in der VS-Suche).

Es scheint, als ob die Funktionen contains und matches arbeiten ähnlich, obwohl Spiele können für Fahnen wie i für den Fall, Unempfindlichkeit.

In anderen Worten, ich bekomme die gleichen Ergebnisse mit diesen beiden XPath Abfragen:

<pets>
    <dog name="Rupert" color="grey"/>
    <dog name="Ralph" color="brown"/>
    <cat name="Marvin the Cat" color="white"/>
    <cat name="Garfield the Cat" color="orange"/>
    <cat name="Cat" color="grey"/>
    <cat name="Fluffy" color="black"/>
</pets>

Matches XPath: //cat[descendant-or-self::*[@*[matches(.,'Cat')]]]
    returns:
    <cat name="Marvin the Cat" color="white"/>
    <cat name="Garfield the Cat" color="orange"/>
    <cat name="Cat" color="grey"/>


Contains XPath: //cat[descendant-or-self::*[@*[contains(.,'Cat')]]]
    returns:
    <cat name="Marvin the Cat" color="white"/>
    <cat name="Garfield the Cat" color="orange"/>
    <cat name="Cat" color="grey"/>

Aber ich möchte matches zurückzukehren Ergebnisse, die mit "Cat" nur ganze Wörter:

<cat name="Cat" color="grey"/>

Wie kann ich einstellen das der Abfrage entspricht, so entspricht es ganze Wort?

BEARBEITEN:
Ich vergaß zu erwähnen, dass ich brauche, um noch die matches-Funktion, da muss ich den Fall Unempfindlichkeit Flagge.

InformationsquelleAutor developer | 2012-05-01

Schreibe einen Kommentar