2013-03-04 7 views
12

Desidero utilizzare il modello *1*. Ho provato \*1\*, ma non funziona. Dov'è il problema?Come scappare l'asterisco in regexp?

+0

@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. –

+1

@jdwire yeah l'ho visto. Le altre modifiche sembravano buone, quindi ho ripristinato quella parte. – Mike

+0

@ohTHATaaronbrown: tag – user2080105

risposta

10

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.

+0

ho modificato la mia domanda, ma sì ho usato il backslash e non funziona – user2080105

+0

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. –

+0

no, ma sto usando il costruttore RegExp quindi non ho bisogno di usare la barra diretta – user2080105

0

è necessario utilizzare una barra rovesciata \ come carattere di escape nelle espressioni regolari.

+0

ho modificato la mia domanda, ma sì ho usato il backslash e non funziona – user2080105