正規表現について

Jedit4です。
半角数字を全角にしたいのですが
検索
[^0-9]0[^0-9]
置換
\10\2

これを9まで繰り返そうと考えています
ところが最初でつまずいています。
検索文字はヒットします。置換も0は全角になるのですが
\1\2にあたる文字が消えてしまうのです。

なにか基本的に間違っているのでしょうか?
» 001
正規表現の勉強をしたいなら別ですが、成果を求めるなら、こういったのを利用してはいかが?繰り返しもないし。
http://www3.kcn.ne.jp/~tomate/JavaScript/kanakana.html
» 002
ツールメニューの「半角→全角...」では処理できないの?
» 003
Jeditは分かりませんが、Perlなら[^0-9]の前後にパーレンが必要です。

がびさん<一桁だけ、全角にしたい..ということらしいです。
» 004
003>>
脊髄反射的にRESしてしまいました。
[^0-9]0[^0-9]ということは1桁の数字のみ置換ということですね。2桁以上の数字は変換させたくない、と。
失礼しました。

プログラム言語ごとに正規表現の解釈が違うように、エディタの正規表現は、エディタごとに振る舞いも違うのでややこしいですよね。

\1、\2って具体的には何なんでしょう?
\って正規表現では意味を持っている記号なので。
» 005
>\って正規表現では意味を持っている記号なので

\
» 006
>検索
>[^0-9]0[^0-9]
>置換
>\10\2

[^0-9]を\1、\2にしたいのでしょう。
» 007
試したのはJedit Xなのが何ともですが、[きよはる]さんの正規表現通りで一括置換が可能です。

[^0-9]0123456789[^0-9]
\10123456789\2

原始的ではありますが、上のように一対一にしてしまえば一桁数字は一発で全角に変換可能です。Jedit 4の動作環境にないので、4の検証はできません。悪しからず……。
» 008
すみません、いい加減なことを書いたようです。

([^0-9])0([^0-9])
\10\2

と、003[匿名]さんが書かれているように「パーレン」が抜けているのが原因です。パーレンのヌケが[きよはる]さんの疑問に対する答でした。007の書き込みは、SEDで言うところのyコマンドですが、無視してください。Jeditでは変なことになってしまった……。すみません。
» 009
短時間でこれだけの書き込み心強い掲示板です

検索前→ あいう0ういあ
置換後→ あい0いあ

こういう状態でした
miでも同様でしたので(考えてみればヒットしていましたが黄色・・警告していたのですね)
もうギブアップ状態でしたので、書き込ませていただきました。

{ } このパーレンじゃなかったのですね
わかってみれば・・・・

Jeditのスーパーマニュアルも参考にしたのですが { }のような・・ 読解力がないのかなぁ

温故知新さま
名無しさん
がびさん
masaoさま
匿名さま 感謝 感謝

書き込んでよかった・・ 初心者はこんな入り口で挫折するんですよね
ありがとうございました
» 010
>>きよはる
普通にJedit4の標準機能じゃどうして駄目なの?
» 011
>普通にJedit4の標準機能じゃどうして駄目なの?

1桁数字だけ全角ってないですよね

再起動して確認しましたら
Jedit4はこちらのパーレンでよかったようです
{[^0-9]}0{[^0-9]}
miはこちらのパーレン
([^0-9])0([^0-9])

のようでした
» 012
>1桁数字だけ全角ってないですよね
純正でライブラリにありますよ。
» 013
[ ]さん ありましたよ! ありがとうございます
「数値書式の統一」

AppleScript 16行でできるんだね

収穫はおおきいです 勉強になりました

このページをシェア