2012-07-20 17 views
5

Ho un'espressione regolare che corrisponde a tre tipi di apostrofi, '’‘. Ho incollato direttamente gli ultimi due dalla parola Microsoft nella regex. Tuttavia, quando lo provo, la mia espressione regolare fallisce e quando controllo il mio script di convalida javascript in firefox, vedo '’‘\ anziché '’‘. Devo fuggire da loro o usare il formato ASCII?Aggiunta di caratteri speciali all'espressione regolare?

+0

L'escaping non funzionerà in questo caso. Prova ASCII. – SomeKittens

+0

Il codice ASCI per uno di questi è ´. Puoi mostrarmi come si fa? – user1436111

+1

Questo potrebbe essere tutto perso in cut'n paste. Pubblica il test JS completo che hai provato fallendo. "" "sembra un codice byte. – sln

risposta

1

Prova

/['\u2018\u2019]/ 

Questo corrisponde a uno di '’‘.

Spiegazione:

In regex JavaScript, \u1234 corrisponde alla Unicode codepoint 1234. Per scoprire i codici corretti per questo caso speciale, ho copiato i caratteri in EditPadPro e li ho convertiti in codepoint Unicode.

+0

Qualche spiegazione sarebbe bella. Quelle "prova questo" - le mamme in realtà danno solo il pesce, ma non mostrano come pescare. –

+0

Sei il mio eroe. – user1436111