2016-11-30 14 views
1

私はこれまで正規表現を使ったことがなく、いくつかの例を試していました。 私が理解できないのは、正規表現^([a-z] | a)$が文字列'a'と一致しない理由です。

私は[a-z](a | b | c | ... | y | z)と等価で分かるように、そう [a-z] | a(a | b | c | ... | y | z) | aと同等である必要があり、それは(a | b | c | ... | y | z)又は[a-z]を言う同じ あります。

そのため、文字列strは、^[a-z]$と一致する場合、^([a-z] | a)$と一致します。

その正規表現は文字列と一致していない理由を私は理解していない理由は、たとえば「」「E」です。

PS:私はこれをpageでテストしていました。

+8

'a'と 'z' ** + space **または** space ** + 'a'の間の任意の文字に一致するためです。 – JJJ

+8

周囲の空白|重要である –

答えて

5

スペースは正規表現で重要です。パイプ(|)の周囲のスペースを取り除くと効果があります。

関連する問題