Desidero utilizzare il modello *1*
. Ho provato \*1\*
, ma non funziona. Dov'è il problema?Come scappare l'asterisco in regexp?
risposta
Dovete fuggire con un backslash:
/\*1\*/
In caso contrario, un escape *
in un RegExp significherà: Partita 0 o più del gruppo carattere precedente.
Aggiornamento:
Se si utilizza il costruttore RegExp
, fare in questo modo:
new RegExp("\\*1\\*")
è necessario fare doppio-sfuggire alle backslash perché hanno bisogno di essere sfuggito nella stringa stessa.
ho modificato la mia domanda, ma sì ho usato il backslash e non funziona – user2080105
Le barre in avanti segnano l'inizio e il fine della regexp. Devi iniziare con una barra in avanti e terminare con una, e in mezzo scappare dagli asterischi con i backslash. Esattamente come nell'esempio che ho dato. –
no, ma sto usando il costruttore RegExp quindi non ho bisogno di usare la barra diretta – user2080105
è necessario utilizzare una barra rovesciata \
come carattere di escape nelle espressioni regolari.
ho modificato la mia domanda, ma sì ho usato il backslash e non funziona – user2080105
@Mike Non so se lo vedrete, ma grazie per aver cambiato le barre. È stato modificato da ninja mentre stavo modificando o mentre era nella coda delle recensioni. –
@jdwire yeah l'ho visto. Le altre modifiche sembravano buone, quindi ho ripristinato quella parte. – Mike
@ohTHATaaronbrown: tag – user2080105