2016-03-21 14 views
-7

私は研究によって解決することができず、助けを求めていることに疑問を抱いています。正規表現に疑問がある

1)mは何をしていますか?/ /はmと最後の部分は何をしていますか? $ var =〜m/[^ 0-9] +/

2)/[^0-9]+/この正規表現は次のどれですか?

 A) `123` 

    B) `4` 

    C) `I see 5 dogs` 

    D) `I see five dogs` 

2への私の答えは):0-9が含まれていない何文字かウォールドがないので、それはCD、およびないAB一致します。

+0

実際には、 '/ [^ 0-9] + /'はオプション** C **で 'I'' '' dogs'と一致します。 'm' [here](https://www.cs.cf.ac.uk/Dave/PERL/node83.html)の詳細。 –

+0

'g'修飾子がなければそれはできません。 – Sobrique

+0

これは基本的な質問ですが、私はなぜそれが7 downvotesと4近い票を持っている必要があります表示されません。 – mob

答えて

0

m//は一致演算子です。 //は、あなたが数えている正規表現の区切り文字です。デフォルトの区切り文字(//)を使用している場合は、最初にmと指定しないでください。

デリミタとして他の文字を使用する場合は、たとえば!の場合は、mが必要です。m!/some/string/with/slashes!