Utilizzando XPath, desidero "Abbinare parola intera" (opzione per utente, proprio come nella ricerca VS).XPath: corrispondenza parola intera (utilizzando la funzione di corrispondenza con flag senza distinzione tra maiuscole e minuscole)
Sembra che le funzioni contains
e matches
funzionino in modo simile sebbene le corrispondenze consentano di contrassegnare come i
per insensibilità al maiuscolo/minuscolo.
In altre parole, sto ottenendo gli stessi risultati con queste query due XPath:
<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"/>
ma vorrei usare matches
per restituire i risultati che corrispondono a "Gatto" intera parola solo:
<cat name="Cat" color="grey"/>
Come posso regolare la query delle corrispondenze in modo che corrisponda alla parola intera?
MODIFICA: Ho dimenticato di dire che ho ancora bisogno di usare la funzione partite perché ho bisogno del flag di insensibilità del caso.
Hmm .. questo mi dà il risultato che voglio. Ma potresti spiegare le^$ ancore? Non li ho mai usati prima .. – developer
Aggiunto un collegamento in una risposta, vedere la sezione "Due meta-caratteri ...". –
Grazie, avrò ancora bisogno di fare qualche test, ma questo sembra fare il trucco! – developer