正規表現
11/06 アップデートミスによりblogデータが消滅。
バックアップが08/16のモノしか残っていなかったので、
その間(二ヶ月ちょっと)のデータが消えました。 orz
まぁ、自業自得ってヤツですね。
で、画像データは別管理だったおかげで削除(正確には上書き)されずに残ってました。
その画像の中で「これだけは自分の為(←ココ重要)にも、もう一回書いておこう」
というのが「正規表現」に関する記事。
正規表現は知っていたんだけど、
頭の中でワイルドカードとゴッチャになって…
私(心の声)「ワイルドカードで十分じゃね?」
と、自分に言い訳して勉強していませんでした。 orz
先日、ちょっとした理由により試しに使ってみたところ…
これが便利な事、便利な事。 +゚*。:゚+(人*´∀`)+゚:。*゚+.
そんな訳で自分用メモも兼ね、
(再度)まとめてみました。
今回、やりたかったのは…
というより、正規表現を(かじった程度とはいえ)使えなかったら
気にもしなかったと思いますが
元の表は右のような感じ。
あるゲームでのアイテム名と価格の表なのですが
売却専門のアイテムには(売)を付けて売価を表示。
この表現を(売価)に変更したいなぁ。と。
データ数も僅かなので手打ちでも十分対応できたんだけど
せっかく覚えた事だし…
使わないと忘れちゃうしね。 (*´艸`*)
で、検索・置換を図のように入力。
「すべて置換」をポチッとするだけで、一瞬で作業完了です。
元のデータは
<td class="nom">(売)400</td>
このデータを
<td class="nom">(400)</td> と、したい訳です。
※さらにややこしくしてるのが、上の()は半角、下の()は全角という点
tdタグはそのままなので無視するとして
検索窓に入力してある文字のうち
\(売\)(\d+) が重要な部分。
これを置換窓に入力した ($1) にしなさいね。と。
\(売\) 部。 “(”・“)”は正規表現でも使用する文字なので
前に“\”を付けて「文字として扱って下さい」と伝えます。 ※エスケープ
これで“(売)”として処理してくれるようになります。
(\d+) 部。 ここの“(”・“)”は正規表現としての記号。
その中身の“\d”は、数字という意味。
“+”は、直前の文字が1回以上連続しているか?の判定。
上記の場合だと数字が1個以上並んでいる場所“\d+”をグループとして扱う。
その為に“()”で括ったという記述になります。
()で括った中身、上記の場合は“400”の部分。
これを置換時には再利用できます。 それが“$1”部分。
前後に全角()を付け「(400)へ置換して下さい」という事になります。
グループは複数使用でき、()で括った順から、$1、$2… と変数(?)として利用できるので
特定の部分を入れ替えたりする事も可能です。
と、まだ付け焼き刃レベルなのでボロが出る前に終了。
詳しくは、ググる先生に聞いて下さい。 ヾ(;´▽`A``
ちなみに…
>「すべて置換」をポチッとするだけで、一瞬で作業完了です。
と偉そうに書きましたが…
まだ自身が無いので、1回ずつ確認しながら「置換」をポチッてます。 (*´艸`*)
サラッと書けるようになれば格好良いんでしょうけどねぇ…
はい。 精進します。 λ..........トボトボ