2016-03-21 18 views
-7

Ich habe ein paar Zweifel, dass ich nicht geschafft habe, durch Forschung zu klären und hoffe auf etwas Hilfe.Reguläre Ausdrücke Zweifel

1) Was macht die m, und was tun die / / vor der m und am Ende tun? $ var = ~ m/[^ 0-9] +/

2) /[^0-9]+/ In welcher der folgenden Zeilen passt dieser Regex?

 A) `123` 

    B) `4` 

    C) `I see 5 dogs` 

    D) `I see five dogs` 

Meine Antwort 2): Es passt C und D und nicht A und B, weil es keine Zeichen oder Wold ist, die nicht 0-9 enthält.

+0

Eigentlich '/ [^ 0-9] + /' würde 'I' 'sehen' 'Hunde' in Option ** C **. Mehr über 'm' [hier] (https://www.cs.cf.ac.uk/Dave/PERL/node83.html). –

+0

Es würde nicht, ohne einen "g" Modifikator. – Sobrique

+0

Dies ist eine grundlegende Frage, aber ich sehe nicht, warum sie 7 downvotes und 4 close votes haben sollte. – mob

Antwort

0

m// ist der Match-Operator. // sind Begrenzer der Regex, die Sie mathing sind. Wenn Sie Standardtrennzeichen (//) verwenden, können Sie die Angabe m zu Beginn überspringen.

Wenn Sie andere Zeichen als Trennzeichen verwenden möchten, z. B. !, dann ist m erforderlich: m!/some/string/with/slashes!.