non capisco il problema in modo corretto:
Se si desidera far corrispondere "grande" o "reat" si può esprimere questo da un modello come:
"g?reat"
Questo semplicemente dice che la parte "reat" deve esistere e la "g" è opzionale.
Questo corrisponderebbe a "reat" e "grande" ma non a "mangiare", poiché è richiesta la prima "r" in "reat".
Se si hanno le anche parole "grande" e "buono" e si desidera far corrispondere entrambi con una "g" opzionale è possibile scrivere questo come questo:
(g?reat|g?ood)
E se si desidera includere una parola-limite di simile:
\b(g?reat|g?ood)
si deve essere consapevoli che questo non corrisponde a nulla di simile "breat", perché si ha la "reat", ma la "r" non è la parola di confine a causa della "B ".
Quindi, se si desidera far corrispondere le parole intere che contengono un link stringa "reat" o "ood" allora si dovrebbe provare:
"\b\w*?(reat|ood)\w+\b"
Questo si legge: 1. Inizio con un limite di parola iniziare corrispondenza qualsiasi numero di caratteri-parola, ma non essere gready. 2. Corrispondenza "reat" o "ood" garantisce che solo quelle parole sono abbinate che contengono una di esse. 3. Corrisponde a qualsiasi numero di caratteri di parole che seguono "reat" o "ood" fino a raggiungere il limite di parola successivo.
Questo corrisponderà:
"bontà", "buono", "ood" (se una parola completa)
Può essere letto come: Dammi tutte le parole complete che contengono "ood" o "reat".
È quello che stai cercando?
fonte
2009-03-30 19:40:55
Vuoi uguagliare anche "oo", "o" o "t"? – jpalecek
Che dire di ooooooooooooooooooooooooooooooooooooooooooooooooooo? –
Ho scoperto che usare "buono | bello" come funziona, è ok? Perché gli esempi di alcune persone hanno più markup in loro? –