Ho questa espressione regolare
b(t[úu]s*)b
E ho queste parole:
tu (lavori) tú (non funziona) tus (funziona) tús (funziona)
Perché non posso abbinare tú
?
risposte:
3 per risposta № 1Se la regex non corrisponde, i due caratteri differiscono.
"u with acute" può essere espresso come singolo personaggio ú
(U + 00FA) o combinando u
(U + 0075) con il combinando accento acuto carattere (U + 0301) che dà un aspetto simile ú
.
Devi convertire la stringa di input o includere entrambe le varianti nella tua espressione regolare, vedi http://www.regular-expressions.info/unicode.html per dettagli.
2 per risposta № 2
Perché quell'espressione non corrisponde
tú
?
Quell'espressione non corrisponde tú
perché b
non sembra riconoscere ú
come un carattere di parola, e quindi fallisce se usato tra caratteri non di parole.
Potresti usare qualcosa come questo, invece:
/(?<!p{L})(t[úu]s*)(?!p{L})/u
p{L}
corrisponde a una lettera Unicode.