Sto scrivendo un parser JS e mi sto chiedendo come distinguere tra un'espressione regolare (/lookup/g
) e una divisione semplice (bar/baz/g
). Quali sono le regole utilizzate da JavaScript per identificare le espressioni regolari?In che modo JavaScript rileva le espressioni regolari?
risposta
Si desidera verificare Section 7.8.5 nelle specifiche ECMA (la versione annotata è aggiornata al momento, ma controllare sempre il latest PDF from the ECMA).
Ricorda anche che un'espressione regolare JavaScript non può essere vuota. //
è sempre l'inizio di un commento a riga singola. Vale anche la pena ricordare che un punto e virgola non deve mai essere inserito prima di un regex letterale.
Tangenziale, un vuoto regex JavaScript si presenta come /(?:)/
.
Si noti che la grammatica sembra essere stata leggermente modificata nella [ultima versione] (http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf). –
@AndrewMarshall: vorrei collegare che se fosse in formato HTML - sai se esiste? Grazie. – alex
Sì, è per questo che ho pensato che ti saresti collegato a quella versione. E no, sfortunatamente no. Volevo solo aggiungere il link all'ultima versione per completezza. –
- 1. Commentando le espressioni regolari
- 2. Raccontando le eccezioni di espressioni regolari di espressioni in JavaScript
- 3. Comprendere le espressioni regolari
- 4. espressioni regolari Javascript - stringa suddivisa
- 5. espressioni regolari javascript come funzioni?
- 6. Combinazione di espressioni regolari in Javascript
- 7. Come utilizzare le espressioni regolari in Jinja2?
- 8. Sostituire in modo condizionale le espressioni regolari nella stringa
- 9. Le espressioni regolari in C preprocessore macro
- 10. Chi definisce le espressioni regolari?
- 11. Unire le espressioni regolari in julia
- 12. espressioni regolari - uguale per tutte le lingue?
- 13. Espressioni regolari in C# che funzionano lentamente
- 14. Creazione di matrici di espressioni regolari Javascript
- 15. Espressioni regolari in C
- 16. In espressioni regolari, che cosa significa \ w *?
- 17. Utilizzare le espressioni regolari in R strsplit
- 18. JavaScript espressioni regolari e sub-match
- 19. Enumera le espressioni regolari tramite UglifyJS
- 20. Espressioni regolari in OCaml
- 21. Casse in espressioni regolari
- 22. espressioni regolari che mancano alcune lettere
- 23. Unione di espressioni regolari
- 24. Quando non dovrei usare le espressioni regolari?
- 25. Grammatica context-free che descrive le espressioni regolari?
- 26. espressioni regolari che non contiene certa stringa
- 27. Utilizzare scanf con le espressioni regolari
- 28. In che modo le sottofrequenze nelle espressioni regolari richiedono il backtracking?
- 29. case-insensitive espressioni regolari
- 30. Espressioni regolari (regex) in giapponese
il precedente '/'? –