# 用語統一・校正辞書 書式 http://www.wzsoft.jp/wz8/ ヘルプより引用 ``` // # .#で始まる行はコメント その他の行は、 表記単語 指定単語 前置文字,後置文字,オプション 表記単語には、表記を統一したい単語を記述します。 表記単語が半角英文字で、指定単語がない場合は、本文に綴りが 同じで大文字小文字が異なるか全角の単語を表記単語に統一します。 指定単語には、表記単語に置き換える単語を指定します。|で区 切って複数指定することもできます。 前置文字は[文字]または[^文字]のように指定します。指定され た文字が表記単語の前になければ([^文字]を指定したときは指定 文字があったとき)、表記単語は無視されます。 後置文字も前置文字と同じ様に指定します。 オプションには次が指定できます。 ZENHAN 全角・半角を区別して検索 RE 指定単語に正規表現を利用可能 SENTENCE 段落全体に対して指定単語の検索を行う(RE指定時) NODE 「、,。.」までに対して指定単語の検索を行う(RE指定時) TOHAN 見つけた単語を半角にしたものを表記単語にする TOZEN 見つけた単語を全角にしたものを表記単語にする ``` # ルールを分析した結果 間違いがある場合は Issueへ * 前置文字,後置文字 の指定は常にORの指定 ## 英語、日本語でルールの適応の仕方に違い ``` XXX TEST ``` というルールの時 ``` xxxxTESTed ``` にはマッチしない。 ``` xxxx TEST ed ``` のように境界があるとマッチする。 そのため、アルファベット?の時は `\bTEST\b` のようなルールが適応される。 これが日本語だと違う。 ``` XXX コピペ ``` というルールを作った時に、以下のように境界がない場合もマッチするようになってる。 ``` クライアントコピペサーバ ``` つまり、日本語の場合は`コピペ`の完全一致が使われてる。 ## 前置、後置文字と正規表現 前置、後置文字はREの指定がなくても正規表現が有効になる。 ``` XXX コピペ [\d] ``` 上記のルールの場合、以下の文字列にもマッチする ``` 4コピペ ``` なので、この場合は `[\d]\bコピペ` という正規表現が組み立てられそう。 ``` XXX YYY [\d] ``` というルールを作った時に、以下のように文字列にはマッチしない事から ``` 4YYY 4 YYY ``` `[\d]\bYYY` というルールになってる気がする。 ### 未解決 ``` XXX コピペ [ト] ``` という指定をした場合 ``` クライアントコピペサーバ ``` にはマッチするので、`[ト]\bコピペ` ではなくて、 `[ト]コピペ` となっている気がする。 指定単語 が日本語の場合は境界指定を入れないというのがあるのかも。 `[\d]\bコピペ` も `[\d]コピペ` であるとか ### 指定単語に|がある + 前置文字 ``` ヘッダ ヘッダー|ヘッタ|ヘッター [\d] ``` という指定をした時 ``` ヘッター1 ヘッタ1 ``` 上記の両方にマッチする。 つまり `[\d]ヘッダー|[\d]ヘッタ|[\d]ヘッター` という正規表現ができてる ## 実装上制限 ``` # 【WZの書式】 # 変更後単語 変更前単語 前置文字,後置文字,オプション ``` 前置文字 または 後置文字 を指定している場合に、 変更後の単語に`\1`のようなプレースホルダを利用することができない。 これはあくまでパーサの都合上でサポートすると複雑化するためサポートしていない。 (WEB+DB PRESS用語統一ルールにもこの表現を使っているものはなかった)