uchiumiです。
今日のPHPは文字エンコーディングと正規表現について学びました。
文字エンコーディング
文字エンコーディングとは、機械語で書いてある文字列を人間が読める文字列に変換するための物です。
文字エンコーディングによって、コンピューター上での表現が変わってしまう(文字化けする可能性がある)ので、
文字処理をする上で文字エンコーディングはとても重要とのことでした。
- 文字エンコーディングの種類
-
- UTF-8
- shiftJIS(SJIS)
- JIS
- EUC-JP
さて今日は以下の関数を使い、いくつか問題をときました。
上記の関数を使った問題は、いずれもマルチバイト文字を考慮しなければならないものでした。マルチバイト文字とは複数バイト文字列のことで、日本語などのことです。
正規表現
正規表現は文字列のチェックをする時などにとても便利だとのことでした。
そこでpreg_matchという関数を使い、正規表現を使ったいくつかの問題を解いていきました。
なお、preg_matchはPerlの持っている正規表現エンジンを使用した関数なので、頭に「p」がついています。なので、この関数を使った正規表現のパターン文字列はPerlっぽく’/パターン文字列/’と書かなければならないとのことでした。
正規表現の書き方
今日は以下の書き方を図を使い学んでいきました。
検索される流れなどがとても解りやすかったです。
- * ・・・ 直前の動作を0回以上繰り返す
- + ・・・ 直前の動作を1回以上繰り返す
- . ・・・ 何か1文字
- ^ ・・・ 行頭
- $ ・・・ 行末
- [ ] ・・・ []の中の1文字
- [^ ] ・・・ []の中の文字以外
もし上記の「*」や「+」などを検索対象として入れたい場合は\*のように書くと、普通の文字として扱われます。
また、[a-z]と書くと小文字のa-zまでということになるのですが、[A-z]という書き方もできるとのことでした。
他にも、正規表現を書く際、終わりの/の後ろに「i」と書いてあげると、大文字と小文字を区別することなく検索してくれるとのことでした。
なので[A-z]と[a-zA-Z]と’/[a-z]/i’は同じ意味になります。
正規表現はとても便利だと感じたのですが、複雑な検索になると、まだどのように書けば良いのかすぐに解らないだろうと思うので、早く慣れて使いこなしてみたいと思います。
—-
(2008/0729 10:09 hirafuji追記)
動画をご覧下さい〜!
part.1
part.2

コメントをどうぞ