正規表現スパコーーーーーン!
普通に正規表現使えば良いじゃない!
なぜか一文字ずつとかで文字比較しちゃってるやつぅー!
いやまあわからなくもないんですけどね。
「正規表現 構文」とかで検索してもイマイチなサイト多いですし。
そしてやたら長い正規表現とかもたまにみかけますし。
多分プログラムし始めると躓き率高い部類の機能だとは思いますよ、ええ。
と、言ってもコレ使えなくて何故文字列が扱えるのかという話にもなってきます。
ちゃんとしたパターンさえ作れるならこれほど便利なものもありませんし。
まあ、文字列の検索だとか置換だとかであればですけども。
というわけで、覚えてないなら覚えましょう。
たぶん、行頭と行末とワイルドカードだけ覚えれば大体イケるはず。おそらく。
というかその辺りから覚えて大体の動に慣れていきましょう。
^
これが行頭!
$
これが行末!
.*
これがなにかわかりませんけどとりあえず文字!
あとは[0-9]とか[a-z]とか、いろいろ!
あ、\dとか\Dとか、直感的じゃないものは回避した方が良いかもしれませんね。
見慣れればそれが普通なんですけど、見慣れてないと半角数字だとかだってことがわからないんで。
とにかくこの辺りで慣れることから始めるといいと思います!
まあ、慣れる前に[^0-9]とか[x|y]とか見て『えっ……』ってなったりするかもしれませんけど。
ちなみに私、正規表現覚えるのに使ったのがXcode(Mac/iPhoneあたりの統合開発環境)のregular expression検索だったりしますけどね。
なんで、古臭いというかちょっと特殊なのがベース。
ちなみによく使うのが、
@property(.*)assign(.*)\*
とか,
const(.*)\*
とか。
一番面倒だったのは、
^[\s]{0,100}\b(.*)\b[\s]{0,10}[\s|\*][\s]{0,10}\b(?-i)m[A-Z]
辺り。
もう明らかにリファクタリング以前の突っ込みどころ修正によく使ってるのがバレバレという。