Closed limura closed 6 years ago
とりあえず正規表現でやるには、
指定された正規表現にひっかかる文字列を全部取り出して、その文字列から読み替えられる文字列に置き換える読み替え辞書を生成
というのを適用時(つまり文章読み込み時)に行えばできると思う。
ただ、読み替え元文字列が正規表現であるか否かの bool値 を保存する領域が無いので、これをどうするか。DBの変更は今の所やりたくない(本棚周りと同時にやりたい)のでDB定義の変更を伴わない方法としては、謎の制御文字(例えば "\x0a")が頭に入っていればそれ以降が正規表現であるとする、みたいな腐った仕様にするか……?工エエェェ(´д`)ェェエエ工
正規表現の場合気になるのは、多分この起点になったご意見ご要望を寄せてくれた人は正規表現とか書けないだろうなぁという事。
例えば例に上げられていた「〜中」「〜方」「〜力」みたいなのについて、「0なら(漢字、カタカナ)で1なら(平仮名)のような」というような物が必要、とか書かれていて、まぁそう考えますよねと思うわけだけれども、漢字やカタカナを正規表現で
漢字: \p{Han} カタカナ: \p{Katakana} ひらがな: \p{Hiragana}
と書ける、みたいなのはわからんというか単に「正規表現 漢字」とかでGoogle検索すると
[々〇〻\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF]
みたいな、まぁそうなりますか…… 的なものを発見してくるかもしれん。 とはいえ、そういうのを発見して動かしてみられるレベルの人であれば良いが、そうでない人は…… そうでない人はそもそも最初から「できない」って諦めてくれるからいっか?いいのか?そうか?(´・ω・`)
ご意見ご要望フォームより。
長いので意訳すると、「〜中」「〜方」「〜力」みたいなのは全部一括して「〜ちゅう」「〜ほう」「〜りょく」と登録したいが、今の所やり方が無いのでどうしたもんかというお話。
まぁ簡単に考えると正規表現なんだろうねぇ……