エントリー

正規表現

11/06 アップデートミスによりblogデータが消滅。
バックアップが08/16のモノしか残っていなかったので、
その間(二ヶ月ちょっと)のデータが消えました。 orz

まぁ、自業自得ってヤツですね。

で、画像データは別管理だったおかげで削除(正確には上書き)されずに残ってました。
その画像の中で「これだけは自分の為(←ココ重要)にも、もう一回書いておこう」
というのが「正規表現」に関する記事。

正規表現は知っていたんだけど、
頭の中でワイルドカードとゴッチャになって…
 私(心の声)「ワイルドカードで十分じゃね?」
と、自分に言い訳して勉強していませんでした。 orz

先日、ちょっとした理由により試しに使ってみたところ…
これが便利な事、便利な事。 +゚*。:゚+(人*´∀`)+゚:。*゚+.

20221029234319.jpg

そんな訳で自分用メモも兼ね、
(再度)まとめてみました。

今回、やりたかったのは…
というより、正規表現を(かじった程度とはいえ)使えなかったら
気にもしなかったと思いますが
元の表は右のような感じ。

あるゲームでのアイテム名と価格の表なのですが
売却専門のアイテムには(売)を付けて売価を表示。

20221029234320.jpg

この表現を(売価)に変更したいなぁ。と。

データ数も僅かなので手打ちでも十分対応できたんだけど
せっかく覚えた事だし…
使わないと忘れちゃうしね。 (*´艸`*)

で、検索・置換を図のように入力。
「すべて置換」をポチッとするだけで、一瞬で作業完了です。

20221029234321.jpg

元のデータは
<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回ずつ確認しながら「置換」をポチッてます。 (*´艸`*)

サラッと書けるようになれば格好良いんでしょうけどねぇ…
はい。 精進します。 λ..........トボトボ

正規表現ポケットリファレンス

ページ移動

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前
メールアドレス
URL
コメント
閲覧制限

ユーティリティ

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

ノート

  • ノートは登録されていません。

新着エントリー

新着コメント

Re:アクアビーズアート(2)
2021/10/10 from はやとまる
Re:旗印、自作してみた。
2021/02/18 from goopee
Re:初のスキルLV.10武将 の続き 2
2014/09/24 from DSHata(管理人)
Re:伊東市の鳥
2014/05/16 from DSHata(管理人)
Re:【訃報】
2014/04/26 from DSHata(管理人)

過去ログ