Durante la stesura di questa risposta , ho dovuto corrispondere esclusivamente alle interruzioni di sriga invece di utilizzare -flag ( dotall- il punto corrisponde alle interruzioni di riga ).
I siti solitamente utilizzati per testare le espressioni regolari si comportano in modo diverso quando si tenta di abbinare su \no \r\n.
Ho notato
Regex101 corrisponde alle interruzioni di riga solo su
\n
( esempio : elimina\re corrisponde)RegExr non corrisponde a interruzioni di riga né su
\nné su\r\n
e non riesco a trovare qualcosa per farlo corrispondere a un'interruzione di linea, ad eccezione dim-flag e\s
( esempio )Debuggex si comporta in modo ancora più diverso:
in questo esempio corrisponde solo su\r\n, mentre
qui corrisponde solo su\n, con gli stessi flag e motore specificati
Sono pienamente consapevole di m-flag (multilinea - fa ^corrispondere l'inizio e $la fine di una riga), ma a volte questa non è un'opzione. Lo stesso con \s, poiché corrisponde anche a schede e spazi.
Il mio pensiero di utilizzare il carattere unicode newline ( \u0085) non ha avuto successo, quindi:
- Esiste un modo sicuro per integrare la corrispondenza in un'interruzione di linea (preferibilmente indipendentemente dalla lingua utilizzata) in un'espressione regolare?
- Perché i siti di cui sopra si comportano in modo diverso (in particolare Debuggex, facendo corrispondere una volta sola
\ne una volta sola\r\n)?
\r?\nper abbinare entrambi \r\ne \ndi terminazione della linea sequenze. Non funziona per la vecchia \rsintassi Mac, ma quella è piuttosto rara in questi giorni.
[\r\n]+- o qualcosa del genere