2011-10-28 8 views

risposta

11

In generale non significa nulla e potrebbe anche causare un errore (se il punto interrogativo non segue un carattere valido). Ma ci sono alcuni personaggi in cui ha un effetto, vale a dire se questo personaggio è utilizzato anche come modifier.

regular-expressions.info dice su questo particolare sintassi:

moderni sapori regex consentono di applicare modificatori solo a una parte dell'espressione regolare. Se si inserisce il modificatore (?ism) nel mezzo della regex, il modificatore si applica solo alla parte della regex alla destra del modificatore. Puoi disattivare i modi facendoli precedere da un segno meno. Tutte le modalità dopo il segno meno saranno disattivate. Per esempio. (?i-sm) attiva la distinzione tra maiuscole e minuscole e disattiva sia la modalità a linea singola che quella a più linee.

Non tutti gli aromi regex supportano questo. JavaScript e Python applicano tutti i modificatori di modalità all'intera espressione regolare. Non supportano la sintassi (?-ismx), poiché disattivare un'opzione è inutile quando i modificatori di modalità si applicano a tutte le espressioni regolari. Tutte le opzioni sono disattivate per impostazione predefinita.

È possibile testare rapidamente l'aroma regex che si sta utilizzando modificatori della modalità maniglie. La regex (?i)te(?-i)st deve corrispondere a test e TEst, ma non a teST o TEST.

?i significa che tutto ciò che segue questi caratteri deve essere identificato senza distinzione tra maiuscole e minuscole.

Si noti inoltre che, come dice il testo, non tutti gli aromi regex supportano questa sintassi.

+0

Grande! Fatto. A proposito, è un ottimo sito web –

Problemi correlati