x オプションを使うと、スペースを無視してくれます。
問題
たとえば次の正規表現が、何をやっているか。
ひと目でイメージすることが出来るでしょうか?
/\A(\d{3}-\d{3}-\d{1,3})|(\d{3}-\d{1,3})|(\d{1,9})\z/
僕は分かりません。
解決
次のように x オプションを指定すると。スペースを無視します。
そして、そもそも分かりにくい正規表現を。多少でも読みやすくすることが出来ます。
/\A ( \d{3}-\d{3}-\d{1,3}) | (\d{3}-\d{1,3}) | (\d{1,9} ) \z/x
もっと読みやすく ( 改行する )
それが許されるプログラミング言語であれば、改行することも出来ます。
/
\A
(\d{3}-\d{3}-\d{1,3}) |
(\d{3}-\d{1,3}) |
(\d{1,9})
\z
/x
なんか気持ち悪い?
- 慣れの問題ではないでしょうか。
- 正規表現の場合、なぜか「詰めて書く」のが一般的です。ですが、たとえば逆に「プログラミングコードを改行なしで書く」ことや「SQLを改行なしで書く」ことを想像してみてください。
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
メンター受付