Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事にトラックバックする(FC2ブログユーザー)
http://ysrken.blog.fc2.com/tb.php/2-fdcce45f

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

「クロスワード用文字探索 正規表現版」ver.1.0公開

公開URL:http://www.vector.co.jp/soft/win95/game/se498086.html

○ソフト概要
『クロスワードパズルってさ、盤面作るの地味に面倒だよな……「頭文字が"あ"な言葉」ならともかく、「2文字目に"い"、4文字目に"と"が来る5文字の言葉」とかどうやって調べろってんだよ!?

 ……と思う私のような人向けにお送りするのがこのソフト。要するに、正規表現の文法で、文字列を検索することができます。


○使い方
起動画面
 起動すると、こういったGUIが表示されます。上部入力欄に検索ワードを正規表現で入力することで、検索を行うことができます。単純が一番!
 試しに、上記『』内の内容、「2文字目に"い"、4文字目に"と"が来る5文字の言葉」を正規表現に直した、「.い.と[^\r]」を打ち込んでみると、次のように表示されます。

検索結果(^.い.と[^\r]$)
 この間、わずか1秒(参考タイム)。
別に何にも最適化は掛けていませんが、20万語あってこの速さだったら小細工も何も要らないよね……?


○正規表現とは?
 このソフトのキモは「正規表現対応」なのですが、そもそも正規表現を知らない人も多いのではないのでしょうか?
 正規表現はもともと、「形式言語」(記号で表す何か、的な考えでいいと思う)を表す手段として作られました。で、誰かさんが「エディタに乗っけたら便利じゃね?」と実装してしまったのが全ての始まりなのです……。

 エディタ等で使われる正規表現は、大抵の場合検索ワードです。メモ帳程度の検索機能しか知らない人にとっては、なんでそんな機能を付けているのか不思議に感じるかもしれません。が、一度使えば手放せないほどの性能があるのです。
 例えば、「"1:~~"となっている行を、"~~(1)"と書き替えたい」と思ったとしましょう。普通はちまちま1つづつ編集するしか無いですが、検索する文字列を「\d+\f:\f.*」、置換する文字列を「\2\(\0\)」にして置換すると、一発で書き換えることができてしまいます(文法は秀丸エディタ準拠)。便利ですよね?

 ただ、いわゆる「クロスワードパズル用に単語を検索してくれるサイト」(例1,例2)をよく使っている人にとっては、正規表現の文法に違和感を感じるかもしれません。大雑把な言い方ですが、向こうでの「*」が、正規表現における「.」に相当します(正規表現での「*」は直前の文字を0回以上という意味の記号)。


○ファイルフォーマットについて
 当ソフトには、豚辞書 第14版(http://www2u.biglobe.ne.jp/~butasan/download.htm)を標準で同梱しています。当ソフトが採用する辞書のファイルフォーマットは、これに準じたものになっています。
 とは言っても、大したものではなく、

あー
あーういんあれん
あーかいば
あーかいばー
あーかいぶ
あーかいぶす
あーかんさす
あーかんそー
あーがいる
あーがいるがら
あーがいるもよう
あーがす
あーきたいぷ
あーきてくちや
あーきてくちやー
あーきてくちゆあ
あーきてくと
あーきぺんこ
あーぎゆめんと
あーく


(豚辞書 第14版より引用)
と、単語を一行づつ改行するだけ(ShiftJISのみ。改行コードはCR+LF推奨)のテキストファイルです。例えばキャラの名前をあらかじめリストアップしておき、拡張子を「.dic」として保存しておけば、検索結果に含めることができます。


○なぜ作ったのか
 実は当方、SideRollさん制作のフリーソフト、「Crossword Builder」を使ってパズル制作をしています。このソフトには、クロスワード用に強力な検索機能(通常・交差・串刺し)があるので、このソフトを自身で使う機会はぶっちゃけ少ないかもしれません。
 ただ、向こうと違って検索に特化させ、かつ正規表現対応なので、単に検索したい場合には使いやすいかと。


次回からは、自身の古いソフトから順にとりあげていく予定です。
関連記事
スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://ysrken.blog.fc2.com/tb.php/2-fdcce45f

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

Appendix

プロフィール

YSR

Author:YSR
「YSR」「YSRKEN」「◆YSRKENkO6Y(~2013/08/25)」「◆YSRKEN.ceVZZ(2013/08/26~)」として活動しています。
プログラミングと艦これが趣味です。
プロフ画像はCrystalDiskInfoの水晶雫ちゃんです。
主な創作物についてはhttp://ysrken.blog.fc2.com/blog-entry-76.htmlをご覧ください。

カレンダー(月別)

06 ≪│2017/07│≫ 08
- - - - - - 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 - - - - -

全記事表示リンク

全ての記事を表示する

QRコード

QR

総アクセス数

アクセス数

現在の閲覧者数:
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。