2012-06-07 15 views
10

Sono molto nuovo nell'arena delle espressioni regolari. Recentemente ho cercato un'espressione regolare per Powershell che mi consenta di abbinare un tag html e ho trovato quanto segue in questo sito.Significato di (? S) in regex

$content -match '(?s)<table[^>]+width\s*=\s*"300px"\s*.*?>(.*?)</table>' 

ho cercato per tutti i riferimenti abituali espressioni e libri (Perl e PowerShell) per il significato di (? S) senza fortuna. Sembra una condizione ma manca la parte allora.

Qualcuno può indicarmi la giusta direzione per il significato di questo?

Grazie

+1

* Hai ricevuto diverse risposte a questa domanda, ma non hai accettato una risposta come corretta o utile. Potresti volerli valutare e, ove possibile, accettarli come corretti o utili. * –

risposta

12

Secondo Regular Expressions reference site.

Attivare "punto corrisponde a nuova riga" per il resto dell'espressione regolare . (I vecchi sapori regex possono attivarsi per l'intera espressione regolare.)

+1

oh .. grazie mille. Tutti i miei riferimenti vengono elencati solo per la distinzione tra maiuscole e minuscole, sebbene alcuni riferimenti facciano riferimento alla modalità a riga singola, alla modalità multi-linea e alla modalità di spaziatura libera, ma non menzionano il sintex. –

2

"?" significa 1 o 0 partite. "? s" abilita punti corrispondenti a linee nuove. Un punto è normalmente un carattere jolly che si adatta a qualsiasi carattere, salva la nuova riga.

Problemi correlati