英語を表わす記号、日本語を表わす記号はNo.25803
eigodoo1 さん 08/12/17 09:43
 
英語を表わす記号、日本語を表わす記号はそれぞれありますか?

[ ]
RE:25803 英語を表わす記号、日本語を表わNo.25804
ENCODINGSHIFTJIS さん 08/12/17 09:57
 
>英語を表わす記号、日本語を表わす記号はそれぞれありますか?

質問が短すぎて 外しているかも ですが
秀丸編集の画面の中にはありません、1ファイルの途中で ENCODINGを切り替える 仕
組みもありません。

他の規格にはあります。
ISO文字符号とかは 途中切り替えの仕組み エスケープシーケンスや シフト があり
ます。
メールのソフトなどは 認識して動作します。HTMLにも ある
UNICODEにも言語切り替えの符号が規定されてるみたいだが、それで動作するソフト
は知りません。(ほとんど、無いと思う)

[ ]
RE:25804 英語を表わす記号、日本語を表わNo.25806
ENCODINGSHIFTJIS さん 08/12/17 10:19
 
強調表示の 設定を使って、着色はできます。
特定の記号の直後から着色したり、特定記号列の 行の強調を 設定できます。

[ ]
RE:25806 英語を表わす記号、日本語を表わNo.25807
秀まるお2 さん 08/12/17 10:29
 
 もしかして、正規表現で「日本語」とか「英語」とかを表す物は無いですか?
って意味ですかね?

 だとしたら、それは無いですけど…。

 半角文字とか、ローマ字とか、あるいは全角文字とかってことなら正規表現で
表現可能ですが、いわゆる言語としての「日本語」とか「英語」とかっていうの
を正規表現で正確に表現させるのは無理だと思います。

 自然言語を理解する人工知能でも作らないと無理ではないかと思います。

 (という話?)

[ ]
RE:25807 英語を表わす記号、日本語を表わNo.25811
eigodoo1 さん 08/12/17 11:31
 
> もしかして、正規表現で「日本語」とか「英語」とかを表す物は無いですか?
>って意味ですかね?
>
> だとしたら、それは無いですけど…。
>
> 半角文字とか、ローマ字とか、あるいは全角文字とかってことなら正規表現で
>表現可能ですが、いわゆる言語としての「日本語」とか「英語」とかっていうの
>を正規表現で正確に表現させるのは無理だと思います。
>
> 自然言語を理解する人工知能でも作らないと無理ではないかと思います。
>
> (という話?)


下記の本に英単語を表わす記号は「\w」と書いてありました:

秀丸エディタ徹底活用ガイドVer.5対応(下司智津恵 著)

ですから、日本語を表わす記号もあるはずです。正規表現の時に必要なのです。教え
てください。




[ ]
RE:25811 英語を表わす記号、日本語を表わNo.25813
いいじま さん 08/12/17 11:47
 
秀丸ユーザのいいじまです。

>> 半角文字とか、ローマ字とか、あるいは全角文字とかってことなら正規表現で
>>表現可能ですが、いわゆる言語としての「日本語」とか「英語」とかっていうの
>>を正規表現で正確に表現させるのは無理だと思います。

> 下記の本に英単語を表わす記号は「\w」と書いてありました:
> 秀丸エディタ徹底活用ガイドVer.5対応(下司智津恵 著)
> ですから、日本語を表わす記号もあるはずです。正規表現の時に必要なのです。
> 教えてください。

「\w」は「英語」ではありません。「半角アルファベット」という意味です。
ですから、フランス語でもドイツ語でも、あるいはトルコ語なんかも引っかかります。

「日本語」を表す記号は秀丸の正規表現にはありません。
「全角文字」という意味であれば、[\x81\x40-\xFC\xFC] と書けばヒットします。

[ ]
RE:25811 英語を表わす記号、日本語を表わNo.25815
秀まるお2 さん 08/12/17 11:52
 
 \wは、「半角英字と「_」だけで構成される文字列」ということで、つまり、

    [a-z_]+

 って書くのと同じなんですけど…。

 日本語っていうんじゃなくて、単純に「全角文字」ということでよければ、

 [\x81\x40-\xFC\xFF]+

 でヒットするとは思います。

[ ]
RE:25815 英語を表わす記号、日本語を表わNo.25819
eigodoo1 さん 08/12/17 12:07
 
> \wは、「半角英字と「_」だけで構成される文字列」ということで、つまり、
>
>    [a-z_]+
>
> って書くのと同じなんですけど…。
>
> 日本語っていうんじゃなくて、単純に「全角文字」ということでよければ、
>
> [\x81\x40-\xFC\xFF]+
>
> でヒットするとは思います。

1)の例を下記のように置換試しをしました:

\w[\x81\x40-\xFC\xFF]+



\w\t[\x81\x40-\xFC\xFF]+
で置換すると、置換後の文章がw  [ -・]+となり困っています。どうすればいいで
すか?

[ ]
RE:25819 英語を表わす記号、日本語を表わNo.25821
秀丸担当 さん 08/12/17 12:16
 

>\w\t[\x81\x40-\xFC\xFF]+
>で置換すると、置換後の文章がw  [ -・]+となり困っています。どうすればいいで
>すか?

別スレッドのENCODIGNSHIFTJISも書かれているような感じで、

(\w)([\x81\x40-\xFC\xFF]+)

\1\t\2

としてみるとどうでしょうか。
検索文字列で()でくくられた部分のヒットした文字列は、置換文字列で\1,\2…
で表現することができます。
ヘルプの正規表現のところの「\1・\2 一般的正規表現互換のタグ付き正規表
現」を参考にしてみるといいかもしれないです。
これを使っていろいろ試してみてほしいです。

[ ]
RE:25821 英語を表わす記号、日本語を表わNo.25825
eigodoo1 さん 08/12/17 13:55
 
>
>>\w\t[\x81\x40-\xFC\xFF]+
>>で置換すると、置換後の文章がw  [ -・]+となり困っています。どうすればいいで
>>すか?
>
>別スレッドのENCODIGNSHIFTJISも書かれているような感じで、
>
>(\w)([\x81\x40-\xFC\xFF]+)
>↓
>\1\t\2
>
>としてみるとどうでしょうか。
>検索文字列で()でくくられた部分のヒットした文字列は、置換文字列で\1,\2…
>で表現することができます。
>ヘルプの正規表現のところの「\1・\2 一般的正規表現互換のタグ付き正規表
>現」を参考にしてみるといいかもしれないです。
>これを使っていろいろ試してみてほしいです。


いろいろ試しましたが、うまくできません。次のような現象がみられます:
a) 英和文混合の一文があるとします。その場合、その一文の中で何個もtabマークが
つくられます。

私が欲しているのは、英文と和文をペアにしているとき、それらの間にtabマークを
挿入したいのです。つまり、英文の最後と和文のはじめとの間に、tabマークを1個
だけ入れたいのです。




[ ]
RE:25825 英語を表わす記号、日本語を表わNo.25830
ENCODINGSHIFTJIS さん 08/12/17 15:55
 
>a) 英和文混合の一文があるとします。その場合、その一文の中で何個もtabマーク
>がつくられます。
>
>私が欲しているのは、英文と和文をペアにしているとき、それらの間にtabマークを
>挿入したいのです。つまり、英文の最後と和文のはじめとの間に、tabマークを1個
>だけ入れたいのです。

読める「人」に理解できる 「一文」、「英文の最後と和文のはじめ」
を機械処理可能な形に 置き換えられるか?
が 解決すべき問題です。

ソフトは 言語を 「認識」してはいません、表面上の 文字の種類を判定できるだけ
です。 言語を読む機械は難しい
実現してるのは プログラム開発環境ソフトが 各種の構文を認識して動作するくらい
です。

通常は 「技巧的な特徴」を人が「発見」して、それを使います。
発見できなければ、手作業になります。

100%が実現困難な場合は それを省力化できるレベルであきらめることになります。

---
完全な文例を 幾つか 示すと 別の視点で 問題に取り組めるかも知れません。

[ ]
RE:25825 英語を表わす記号、日本語を表わNo.25831
秀まるお2 さん 08/12/17 16:14
 
 こちらでテストしてみた限りは、一応秀丸担当の書かれたような条件で期待通
りの置換が出来るようではあります。

 例えば具体的な例として、

   aaaあああaaaあああ

 と書いてある文章の所で、秀丸担当さんが書かれた条件で全置換をすると、

   aaa   あああaaa   あああ

 のように、「aaa」と「あああ」の間にはタブが入りました。合計で2個入り
ます。

 例えば上記のような極めて単純な例だとそういう動作になることを、一度確認
いただくのがいいんじゃないかと思いますけど…。

 それもうまくいかないってことであれば、例えば「正規表現」のオプションが
OFFになってるのかなぁとか考えられる原因はありますけど。

 もし、上記のような極めて単純な例だとうまくいくけども、もっと複雑な例だ
とダメってことであれば、例えば具体的にこういう場合にうまくいかない、みた
いな例を書いていただければ、こちらでテストしてみたり、あるいはうまくいか
ない理由を説明させていただくことは出来るかなぁと思います。

[ ]
RE:25831 英語を表わす記号、日本語を表わNo.25832
eigodoo1 さん 08/12/17 16:47
 
> こちらでテストしてみた限りは、一応秀丸担当の書かれたような条件で期待通
>りの置換が出来るようではあります。
>
> 例えば具体的な例として、
>
>   aaaあああaaaあああ
>
> と書いてある文章の所で、秀丸担当さんが書かれた条件で全置換をすると、
>
>   aaa   あああaaa   あああ
>
> のように、「aaa」と「あああ」の間にはタブが入りました。合計で2個入り
>ます。
>
> 例えば上記のような極めて単純な例だとそういう動作になることを、一度確認
>いただくのがいいんじゃないかと思いますけど…。
>
> それもうまくいかないってことであれば、例えば「正規表現」のオプションが
>OFFになってるのかなぁとか考えられる原因はありますけど。
>
> もし、上記のような極めて単純な例だとうまくいくけども、もっと複雑な例だ
>とダメってことであれば、例えば具体的にこういう場合にうまくいかない、みた
>いな例を書いていただければ、こちらでテストしてみたり、あるいはうまくいか
>ない理由を説明させていただくことは出来るかなぁと思います。


例えば次のような英文和文のペアがあるとします。この二文のペアを最初に和文、そ
してタブマークを入れて、最後に英文、とするにはどうすればいいですか?つまり、
完成文全体像としては、「今回、.....あった。Genetic......infection.」となれば
完璧です。

次のような文全体を「和文タブ英文」と、つなげたいわけです。


Genetic association analysis of five cohorts of people with acquired immunod
eficiency syndrome (AIDS) revealed that infected individuals homozygous for
a multisite haplotype of the CCR5 regulatory region containing the promoter
allele, CCR5P1, progress to AIDS more rapidly than those with other CCR5 pro
moter genotypes, particularly in the early years after infection.今回、AIDS
患者を5群に分け遺伝相関解析を行ったところ、プロモーター対立遺伝子CCR5P1を含
むCCR5調節領域の多重部位ハプロタイプと同型接合の感染者は、他のCCR5プロモー
ター遺伝子型を持つ感染者よりもAIDSの進行が急速であり、特に感染初期において顕
著であった。

[ ]
RE:25832 英語を表わす記号、日本語を表わNo.25833
秀まるお2 さん 08/12/17 17:06
 
 その文章は、実際には途中に改行が無くて、ずっとつながってる訳ですよね。
だとしたら、作戦として、「和文の始まりは、つまり、全角文字が一番最初に現
れた位置である」ということで、そこを境目にしてタブ文字を入れたらいいんじ
ゃないでしょうか。

 そういう作戦でいくとしたら、置換用の正規表現としては、

検索文字列:   ([^\x81\x40-\xFC\xFF]+)([\x81\x40-\xFC\xFF].*)
置換文字列:   \1\t\2

 とすればいいんじゃないでしょうか。

検索文字列:   ([ -~]+)([\x81\x40-\xFC\xFF].*)

 と書いた方が分かりやすいかもしれませんけど。

[ ]
RE:25832 英語を表わす記号、日本語を表わNo.25834
ENCODINGSHIFTJIS さん 08/12/17 17:14
 
([ a-z0-9.,;:()-]{16})([^ a-z0-9.,;:()-])

\1\t\2

この文例では 適合します、ギリシャ文字、ロシア文字はどうかな。

処理の考え方
英字列の次に非英字の境目、16文字で 和文中の英単語にヒットしないようにの、
気持ちを表す。

置換の前に確認(K) をして 置換+次(C) で確認置換すると 少しくらい誤っても対応
できるでしょう

[ ]
RE:25832 英語を表わす記号、日本語を表わNo.25835
秀丸担当 さん 08/12/17 17:15
 

和文と英文の順番がなぜか変わっていますが、逆にしたいという場合は、置換文
字列の\1と\2を入れ替えるといいと思います。

あと、行頭から英文が始まるという場合は、検索文字列の先頭に「^」を付ける
と行頭という意味になるので、「^」を付けるとより確実になるかもしれません。


検索文字列:   ^([ -~]+)([\x81\x40-\xFC\xFF].*)
置換文字列:   \2\t\1

[ ]
RE:25834 英語を表わす記号、日本語を表わNo.25838
encodingshiftjis さん 08/12/17 23:21
 
逆順になってないが、それは、次の操作で やったほうが いいと思う。
一回の操作で複合してないほうが 安全なことが多いです。

テキスト操作では 細かく区切るのを先にしてから、動かします。

[ ]
RE:25838 英語を表わす記号、日本語を表わNo.25842
eigodoo1 さん 08/12/18 10:04
 
>逆順になってないが、それは、次の操作で やったほうが いいと思う。
>一回の操作で複合してないほうが 安全なことが多いです。
>
>テキスト操作では 細かく区切るのを先にしてから、動かします。

encodingshiftjisさん、秀丸担当さんへ:

貴重な解決策をありがとうございます。上記のような記号をこともなげに組み合わせ
ることができることに、驚くばかりでございます。
そこで、秀丸担当さんの指示通りに、

検索文字列:   ^([ -~]+)([\x81\x40-\xFC\xFF].*)
置換文字列:   \2\t\1

を行うと次のような文章は上手に置換されませんでした:

An estimated 10 to 17 percent of patients who develop AIDS within 3.5 years
of HIV-1 infection do so because they are homozygous for CCR5P1/P1, and 7 to
 13 percent of all people carry this susceptible genotype.HIV-1の感染から3.5
年以内にAIDSを発症する患者のうち、推定10〜17%はCCR5P1/P1と同型接合であるゆ
え発症する,また全人口の7〜13%は、HIV-1に対してこのような感受性の高い遺伝子
型を保持している。

文が途切れてしまうのです。つまり、和訳の最初の文字が英単語から始まる場合にこ
のようなことが発生します。このような場合、どうすればいいですか?小生も、enco
dingshiftjisさんの言われるように、一回の操作で複合結果を求めてしまうと、危険
かもしれないので、順序を踏んで行えば安全と思います。ですから、和訳の最初が非
日本語(英単語、ギリシャ文字、ロシア文字...etc.)、数字、ハイフンなどから始ま
る場合の置換方法を教えてください。

和文タブ英文

のペアにしたいのです。英文の中には英単語、ギリシャ文字、フランス語文字、その
他外国語文字もあり得るとします。和文の中にも英単語、ギリシャ文字、フランス語
文字などがあり得るとします。ですが、英文の最後は、ピリオド「.」、和文の最後
は「。」がある場合、どうすればいいですか?

[ ]
RE:25842 英語を表わす記号、日本語を表わNo.25843
ENCODINGSHIFTJIS さん 08/12/18 10:36
 
無理です、自然言語を認識するソフトでない限り

大文字小文字を区別on 正規表現検索、検索文字列を強調on

[a-z]\.

の成功率はどれくらいですか。など色々試して成功率の高い物を探す、それで確認置
換が 考えられる

[ ]
RE:25842 英語を表わす記号、日本語を表わNo.25844
秀丸担当 さん 08/12/18 10:37
 

>An estimated 10 to 17 percent of patients who develop AIDS within 3.5 years
>of HIV-1 infection do so because they are homozygous for CCR5P1/P1, and 7 to
> 13 percent of all people carry this susceptible genotype.HIV-1の感染から3.5
>年以内にAIDSを発症する患者のうち、推定10〜17%はCCR5P1/P1と同型接合であるゆ
>え発症する,また全人口の7〜13%は、HIV-1に対してこのような感受性の高い遺伝子
>型を保持している。

このケースの場合、ピリオド「 . 」で判断するのが鍵になると思いますが、
「within 3.5 years」にもピリオドがあるので、難しいかもしれないです。

しかも、最初の条件の、

>2)英 日
>
>例)abcde あいうえお

これも判断する必要があるとしたら、この違いを判断するのは、
ENCODINGSHIFTJISさんや秀まるお2氏が言われる通り、人間的な判断が必要なの
で不可能だと思います。


最初の条件
>例)abcde あいうえお
を無視して、常に英文の最後のピリオドを区切りとみなしていいのであれば、以
下のようにするとできるかもしれません。

検索文字列:   ^([ -~]+\.)(.+)
置換文字列:   \2\t\1

あと、Unicodeでしか保存できない文字のことは考えられていないので、まだ問
題はあるかもしれません。

今までの例を見ると、まだイレギュラーなことはありそうなので、やはり手動で
やっていただくのが一番確実かもしれないです。

[ ]
RE:25842 英語を表わす記号、日本語を表わNo.25845
秀まるお2 さん 08/12/18 10:48
 
 ・英文の最後には必ずピリオドがある
 ・和文の中には必ず全角文字が含まれる。
 ・和文の始まりは半角文字かもしれないが、その始まりの位置
  から全角文字の間にはピリオドは存在しない

 という条件であれば、以下の正規表現パターンでいいんじゃないかと思います。

検索: ([ -~]+\.)([^.\x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*)
置換文字列:   \2\t\1

 それで1つ1つ置換してみて、ダメな物があればまたここの会議室に書き込ん
でいただくって作戦はどうでしょ?

 ダメな物があれば、もうあとは本当に手作業でやるしか無いかもしれませんけ
ど。

[ ]
RE:25842 英語を表わす記号、日本語を表わNo.25846
秀まるお2 さん 08/12/18 10:54
 
 英文の最後がピリオドで終わってないケースについてもなんとか対応出来るか
も…。

検索: ^([ -~]+?)([^. \x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*)$
置換文字列:   \2\t\1

 こっちの方がお勧めですね。

 絶対にピリオドがあるということなら、

検索: ^([ -~]+?)([^.\x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*)$
置換文字列:   \2\t\1

 がいいと思います。これがベストかも。

[ ]
RE:25846 英語を表わす記号、日本語を表わNo.25847
eigodoo1 さん 08/12/18 12:03
 
> 英文の最後がピリオドで終わってないケースについてもなんとか対応出来るか
>も…。
>
>検索: ^([ -~]+?)([^. \x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*)$
>置換文字列:   \2\t\1
>
> こっちの方がお勧めですね。
>
> 絶対にピリオドがあるということなら、
>
>検索: ^([ -~]+?)([^.\x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*)$
>置換文字列:   \2\t\1
>
> がいいと思います。これがベストかも。

秀まるお2さん:

次のような文章では、うまくできませんでした:

Treatment with 17P significantly reduced the risk of delivery at less than 3
7 weeks of gestation (incidence, 36.3 percent in the progesterone group vs.5
4.9 percent in the placebo group; relative risk, 0.66 [95 percent confidence
 interval, 0.54 to 0.81]), delivery at less than 35 weeks of gestation (inci
dence, 20.6 percent vs.30.7 percent; relative risk, 0.67 [95 percent confide
nce interval, 0.48 to 0.93]), and delivery at less than 32 weeks of gestatio
n (11.4 percent vs.19.6 percent; relative risk, 0.58 [95 percent confidence
interval, 0.37 to 0.91]).妊娠 37 週未満での分娩のリスク(発生率,プロゲステ
ロン群 36.3% 対 プラセボ群 54.9%;相対リスク 0.66[95%信頼区間 0.54〜0.8
1]),妊娠 35 週未満の分娩のリスク(発生率,20.6% 対 30.7%;相対リスク 0.67
[95%信頼区間 0.48〜0.93]),妊娠 32 週未満での分娩のリスク(11.4% 対 19.6%
;相対リスク 0.58[95%信頼区間 0.37〜0.91])は,17P で治療すると有意に減少
した.

なかなかむつかしいです.....

和文タブ英文  というペアはあきらめようかなと考えています。しかし、英文タブ
和文はあきらめたくないのです。どのようにすればいいですか?現状は、英文和文と
なっており、冒頭に説明の通り5つのパターンがあります。

どのようにすればいいですか?

[ ]
RE:25847 英語を表わす記号、日本語を表わNo.25848
秀まるお2 さん 08/12/18 13:04
 
 こちらで試した限りでは、僕が最後に書いた

検索: ^([ -~]+?)([^.\x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*)$
置換文字列:   \2\t\1

 ではうまく置換出来ました。

 これでもダメですかね?

 途中に改行が入ってなければうまく置換するはずだと思いますけど…。

> なっており、冒頭に説明の通り5つのパターンがあります。
> どのようにすればいいですか?

 上記正規表現の意味を理解いただければ、それを応用してある程度他のパター
ンでも対応出来ると思います。

 でも、最終的にすべてのパターンに対応するのは難しいと思うので、最終的に
は「自動で変換出来る分は変換しつつ、出来ない物は手作業で」って作戦にする
しか無いんじゃないかと思います。

[ ]
RE:25848 英語を表わす記号、日本語を表わNo.25849
秀まるお2 さん 08/12/18 13:14
 
 ちなみにですけど、手作業でやるとしたら、和文と英文の間にカーソルを移動
してそこで以下のマクロを実行すれば、和文と英文を逆転させて間にタブを入れ
るって作業が一発で出来ます。

    beginsel;
    golinetop2;
    cut;
    golineend2;
    #x = x; #y = y;
    insert "\t";
    paste;
    moveto #x, #y;

 完全に自動化してって風には無理であっても、マクロを使うなどして半自動化
させれば作業がだいぶ楽になると思います。

[ ]
RE:25848 英語を表わす記号、日本語を表わNo.25851
eigodoo1 さん 08/12/18 13:59
 
> こちらで試した限りでは、僕が最後に書いた
>
>検索: ^([ -~]+?)([^.\x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*)$
>置換文字列:   \2\t\1
>
> ではうまく置換出来ました。
>
> これでもダメですかね?
>
> 途中に改行が入ってなければうまく置換するはずだと思いますけど…。
>
>> なっており、冒頭に説明の通り5つのパターンがあります。
>> どのようにすればいいですか?
>
> 上記正規表現の意味を理解いただければ、それを応用してある程度他のパター
>ンでも対応出来ると思います。
>
> でも、最終的にすべてのパターンに対応するのは難しいと思うので、最終的に
>は「自動で変換出来る分は変換しつつ、出来ない物は手作業で」って作戦にする
>しか無いんじゃないかと思います。



秀まるお2さんのおっしゃる通り、「自動で変換出来る分は変換しつつ、出来ない物
は手作業で」のコメントに同感です。一気にできなければ、仕方のないことです。
次の文章を
検索: ^([ -~]+?)([^.\x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*)$
置換文字列:   \2\t\1
で、置換するとうまくできませんでした。その文章とは、

「Genetic Acceleration of AIDS Progression by a Promoter Variant of CCR5 CCR
5のプロモーター変異体によってAIDSの進行が遺伝的に加速される 」です。これをご
教示通り置換すると、「enetic Acceleration of AIDS Progression by a Promoter
Variant of CCR5 CCR5のプロモーター変異体によってAIDSの進行が遺伝的に加速され
る  G」

と、なってしまいます。なぜでしょうか?その他にも、このような現象が起こる文章
があります。教えてください。

「Requirement of RSF and FACT for Transcription of Chromatin Templates in Vi
tro 試験管内での鋳型クロマチンの転写にはRSFとFACTが必要である 」を置換すると、
「equirement of RSF and FACT for Transcription of Chromatin Templates in Vit
ro 試験管内での鋳型クロマチンの転写にはRSFとFACTが必要である  R
」となります。謎が深まるばかりです。




[ ]
RE:25851 英語を表わす記号、日本語を表わNo.25853
秀まるお2 さん 08/12/18 14:23
 
> で、置換するとうまくできませんでした。その文章とは、

 その文章は英文の最後がピリオドで終わってないので、「ピリオドで終わって
る前提ならば」の方の正規表現ではダメです。

 「ピリオドまたは半角空白で終わってるならば」ってことで、

検索:       ^([ -~]+?)([^. \x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*)$
置換文字列: \2\t\1

 の方ならうまくいくと思いますが…。一番先頭の「G」が行末に行ってしまう
ということは、

検索:       (^[ -~]+?)([^. \x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*$)
置換文字列: \2\t\1

 にしないとダメってことかなぁと思います。(僕の所ではどっちでもうまくい
きますが…。)

 あと、置換の時のオプションで、「正規表現」はONにしつつも「大文字/小文
字の区別」はOFFにした方がいいです。あいまい検索はOFFでないとダメです。

[ ]
RE:25853 英語を表わす記号、日本語を表わNo.25854
秀まるお2 さん 08/12/18 14:33
 
検索:(^[^\x81\x40-\xFC\xFF]+?)([^. \x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*$)

 なら大丈夫でないかと思います。

 こっちがベストかなぁと…

 大文字/小文字の区別:OFF
 正規表現:ON
 あいまい検索:OFF

 でいいと思います。

 これでもなお、行頭の半角英字が行末に行くということは、ちょっとなんだか
理由が分からないです。???

[ ]
RE:25854 英語を表わす記号、日本語を表わNo.25855
eigodoo1 さん 08/12/18 15:18
 
>検索:(^[^\x81\x40-\xFC\xFF]+?)([^. \x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].*$)
>
> なら大丈夫でないかと思います。
>
> こっちがベストかなぁと…
>
> 大文字/小文字の区別:OFF
> 正規表現:ON
> あいまい検索:OFF
>
> でいいと思います。
>
> これでもなお、行頭の半角英字が行末に行くということは、ちょっとなんだか
>理由が分からないです。???



秀まるお2さんへ


おそらく、ほとんどの文章でよい結果がでそうです。上記の記号を使えば。ですが、
次のような文章ではよい結果がでませんでした。その文章とは

「At 6 months, angiography showed that the mean (±SD) in-segment late lumin
al loss was 0.74±0.86 mm in the uncoated-balloon group versus 0.03±0.48 mm
 in the coated-balloon group (P=0.002).6 ヵ月の時点で,血管造影により示され
たステント留置部位における遅発性血管内腔狭窄の平均(±SD)は,非被覆バルーン
群で 0.74±0.86 mm,被覆バルーン群で 0.03±0.48 mm であった(P=0.002).」
です。

これを上記の記号で置換すると、


「(±SD) in-segment late luminal loss was 0.74±0.86 mm in the uncoated-ball
oon group versus 0.03±0.48 mm in the coated-balloon group (P=0.002).6 ヵ月
の時点で,血管造影により示されたステント留置部位における遅発性血管内腔狭窄の
平均(±SD)は,非被覆バルーン群で 0.74±0.86 mm,被覆バルーン群で 0.03±0.4
8 mm であった(P=0.002). At 6 months, angiography showed that the mean
」になりました。

なぜでしょうか?
 大文字/小文字の区別:OFF
 正規表現:ON
 あいまい検索:OFF

に設定しております。

[ ]
RE:25855 英語を表わす記号、日本語を表わNo.25856
eigodoo1 さん 08/12/18 15:47
 
>>検索:(^[^\x81\x40-\xFC\xFF]+?)([^. \x81\x40-\xFC\xFF]*[\x81\x40-\xFC\xFF].
>*$)
>>
>> なら大丈夫でないかと思います。
>>
>> こっちがベストかなぁと…
>>
>> 大文字/小文字の区別:OFF
>> 正規表現:ON
>> あいまい検索:OFF
>>
>> でいいと思います。
>>
>> これでもなお、行頭の半角英字が行末に行くということは、ちょっとなんだか
>>理由が分からないです。???
>
>
>
>秀まるお2さんへ
>
>
>おそらく、ほとんどの文章でよい結果がでそうです。上記の記号を使えば。ですが、
>次のような文章ではよい結果がでませんでした。その文章とは
>
>「At 6 months, angiography showed that the mean (±SD) in-segment late lumi
>nal loss was 0.74±0.86 mm in the uncoated-balloon group versus 0.03±0.48
>mm in the coated-balloon group (P=0.002).6 ヵ月の時点で,血管造影により示さ
>れたステント留置部位における遅発性血管内腔狭窄の平均(±SD)は,非被覆バ
>ルーン群で 0.74±0.86 mm,被覆バルーン群で 0.03±0.48 mm であった(P=0.00
>2).」です。
>
>これを上記の記号で置換すると、
>
>
>「(±SD) in-segment late luminal loss was 0.74±0.86 mm in the uncoated-bal
>loon group versus 0.03±0.48 mm in the coated-balloon group (P=0.002).6 ヵ
>月の時点で,血管造影により示されたステント留置部位における遅発性血管内腔狭
>窄の平均(±SD)は,非被覆バルーン群で 0.74±0.86 mm,被覆バルーン群で 0.03
>±0.48 mm であった(P=0.002). At 6 months, angiography showed that the m
>ean
>」になりました。
>
>なぜでしょうか?
> 大文字/小文字の区別:OFF
> 正規表現:ON
> あいまい検索:OFF
>
>に設定しております。


秀まるお2さんへ
重大な補足がございます。日本文の最後は「。」、「.」、「半角スペース」、何も
ナシの4通りございます。何もナシとは英語(数字、ハイフン、ギリシャ文字、フラ
ンス文字、ロシア文字も含む)と日本文(半角の数字、ハイフン、ギリシャ文字、フ
ランス文字、ロシア文字も含む)との間に半角スペースのないことを意味します。少
なくとも言えることは、英文と和文の間に全角スペースは入れておりません。どうす
ればいいですか?





[ ]
RE:25855 英語を表わす記号、日本語を表わNo.25857
秀まるお2 さん 08/12/18 15:48
 
 「(±SD)」って所の「±」って文字が全角文字なので、そういう結果になって
も仕方がないと思います。

 英文の中にそういう全角文字が含まれているようなケースはどうしようもなら
ないと思います。まぁしいて、この「±」だけ例外扱いする(半角英数字と同じ
扱いにする)ような正規表現パターンを書くことは可能ではありますが、正規表
現パターンがむちゃくちゃ長くなってしまって実用的じゃないです。

 こういう例外部分については手作業でやるのが適当だと思います。

 英文の中に全角文字が入っているケースをもっと簡単に見つけるためには、例
えば「設定・ファイルタイプ別の設定...」の「デザイン - 強調表示」の所に、
「追加...」を押して、例えば

 [\x81\x40-\xFC\xFF]+

 っていう正規表現パターンを追加してやるといいかもしれません。そうすると
全角文字が全部強調表示されるので、それで「あぁここに全角文字があるなぁ」
ということが簡単に認識出来ると思います。

 その辺の機能も使うと便利でいいかなぁと思います。

[ ]
RE:25856 英語を表わす記号、日本語を表わNo.25858
秀丸担当 さん 08/12/18 15:59
 

>重大な補足がございます。日本文の最後は「。」、「.」、「半角スペース」、何も
>ナシの4通りございます。何もナシとは英語(数字、ハイフン、ギリシャ文字、フラ
>ンス文字、ロシア文字も含む)と日本文(半角の数字、ハイフン、ギリシャ文字、フ
>ランス文字、ロシア文字も含む)との間に半角スペースのないことを意味します。少
>なくとも言えることは、英文と和文の間に全角スペースは入れておりません。どうす
>ればいいですか?

英文全体とその終わりと、日本文の始まりが重要で、日本文の最後は判断に影響
は無いと思います。

「±」を例外的に除外したとしても、以下の例、

 「……group (P=0.002).6 ヵ月の時点で……」

これは空白を区切りと解釈すると「6」は英文ということになってしまうので、
ピリオドを区切りとして解釈するしかないと思います。

しかしピリオドを必ず区切りと解釈してしまうと、他の例にあった、

 「……Variant of CCR5 CCR5のプロモーター変異体によって……」

これの区切りは見つからないです。

英文の終わりが、
・ピリオド
・空白
・何もなし
の3通りあって、それには機械的な法則は無く、文の意味によって変化している
ようなので、これを正規表現で判断するのは、これ以上は無理かもしれないです。

[ ]
RE:25858 英語を表わす記号、日本語を表わNo.25859
秀まるお2 さん 08/12/18 16:08
 
 僕も、これ以上の自動化というか、正規表現パターンでもっと正確な判定をさ
せるのには無理があると思います。

 あとは手作業でやっていただくしか無いんじゃないかと思います。

[ ]
RE:25857 英語を表わす記号、日本語を表わNo.25860
eigodoo1 さん 08/12/18 16:34
 
> 「(±SD)」って所の「±」って文字が全角文字なので、そういう結果になって
>も仕方がないと思います。
>
> 英文の中にそういう全角文字が含まれているようなケースはどうしようもなら
>ないと思います。まぁしいて、この「±」だけ例外扱いする(半角英数字と同じ
>扱いにする)ような正規表現パターンを書くことは可能ではありますが、正規表
>現パターンがむちゃくちゃ長くなってしまって実用的じゃないです。
>
> こういう例外部分については手作業でやるのが適当だと思います。
>
> 英文の中に全角文字が入っているケースをもっと簡単に見つけるためには、例
>えば「設定・ファイルタイプ別の設定...」の「デザイン - 強調表示」の所に、
>「追加...」を押して、例えば
>
> [\x81\x40-\xFC\xFF]+
>
> っていう正規表現パターンを追加してやるといいかもしれません。そうすると
>全角文字が全部強調表示されるので、それで「あぁここに全角文字があるなぁ」
>ということが簡単に認識出来ると思います。
>
> その辺の機能も使うと便利でいいかなぁと思います。

秀まるお2さん、秀丸担当さんへ:

いろいろとありがとうございます。
早速、上記の記号を試しました。気づいたことがあります。それは、日本文なのに、
強調される文とされない文があるのです。なぜですか?たとえば、次の文です。

「細菌性鞭毛フィラメントは、細胞質から狭小な中央経路を経て輸送されたflagelli
nが遠位端で自己集合することにより成長する。」

この中で「遠位端で自己集合することにより成長する。」の一節が非強調です。不思
議です。このように、非強調文が数え切れないほどあります。なぜですか?





[ ]
RE:25860 英語を表わす記号、日本語を表わNo.25861
秀丸担当 さん 08/12/18 16:45
 

>「細菌性鞭毛フィラメントは、細胞質から狭小な中央経路を経て輸送されたflagelli
>nが遠位端で自己集合することにより成長する。」
>
>この中で「遠位端で自己集合することにより成長する。」の一節が非強調です。不思
>議です。このように、非強調文が数え切れないほどあります。なぜですか?

追加した強調表示の「単語の検索」がONになっていたら、OFFにしてみるといい
かもしれないです。
「単語の検索」がONになっていると、英単語に隣接するものはヒットしなくなり
ます。

そうだとすると、「遠位端で自己集合することにより成長する。」の一節は強調
され、それより前は強調されない、という逆の意味ですが。

[ ]
RE:25861 英語を表わす記号、日本語を表わNo.25862
eigodoo1 さん 08/12/18 16:57
 
>
>>「細菌性鞭毛フィラメントは、細胞質から狭小な中央経路を経て輸送されたflagelli
>>nが遠位端で自己集合することにより成長する。」
>>
>>この中で「遠位端で自己集合することにより成長する。」の一節が非強調です。不思
>>議です。このように、非強調文が数え切れないほどあります。なぜですか?
>
>追加した強調表示の「単語の検索」がONになっていたら、OFFにしてみるといい
>かもしれないです。
>「単語の検索」がONになっていると、英単語に隣接するものはヒットしなくなり
>ます。
>
>そうだとすると、「遠位端で自己集合することにより成長する。」の一節は強調
>され、それより前は強調されない、という逆の意味ですが。


「単語の検索」がONになっていました。


[ ]
RE:25843 英語を表わす記号、日本語を表わNo.25864
ENCODINGSHIFTJIS さん 08/12/19 08:54
 
論点整理
(英文)(どちらに属すか不明の英字列)(和文)
ってことです。
辞書や言語処理能力が必要です が、それらを 無しでどこまで やれるか。

方針
1. 正しい和文 から 頭に英字列がある パターンを収集(SORT、重複除去)して
異なりの比率を見てみる。少なければ、どんどん単語を収集して、それを使い
和文に繰り込む判定の精度を上げてみる。
2. 誤った切り出しの 英文の 末尾の パターンを収集して、特徴がないか
観察してみる。
どちらも、内容は同じ。手作業をやってくうちに、見えてくるかもしれません

[ ]
RE:25864 英語を表わす記号、日本語を表わNo.25919
eigodoo1 さん 08/12/25 14:34
 
>論点整理
>(英文)(どちらに属すか不明の英字列)(和文)
>ってことです。
>辞書や言語処理能力が必要です が、それらを 無しでどこまで やれるか。
>
>方針
>1. 正しい和文 から 頭に英字列がある パターンを収集(SORT、重複除去)して
>異なりの比率を見てみる。少なければ、どんどん単語を収集して、それを使い
>和文に繰り込む判定の精度を上げてみる。
>2. 誤った切り出しの 英文の 末尾の パターンを収集して、特徴がないか
>観察してみる。
>どちらも、内容は同じ。手作業をやってくうちに、見えてくるかもしれません

もうひとつ突きとめたいことがあります。それは次のような場合です:


tibia valga[L] (外反脛骨)
tibia vara[L] (内反脛骨)
tinea pedis[L] (水虫)(=athlete's foot)
tinea unguium[L] (爪白癬)(=nail ringworm)
tinnitus (耳鳴り、耳鳴)
tonsillitis (扁桃炎)
follicular tonsillitis (濾胞性扁桃炎)
lacunar tonsillitis (陰窩性扁桃炎)

上記のように「英単語(日本語)」を「(日本語)タブ英単語」と置換するにはどう
すればいいですか?

tibia valga[L] (外反脛骨) を

(外反脛骨) tibia valga[L] にです。








[ ]
RE:25919 英語を表わす記号、日本語を表わNo.25920
ENCODINGSHIFTJIS さん 08/12/25 15:17
 
正規表現を考えるヒマが無い時は 手操作を記録再生します。

メニュー、マクロ(M)、キー操作の記録開始/終了
カーソルを行頭に置く( HOMEキー)
選択開始 (Shift+F6)
検索 (
カット
検索 )
→ (一文字右)
tab
ペースト
↓ (一行下)
メニュー、マクロ(M)、キー操作の記録開始/終了

メニュー、マクロ(M)、キー操作の再生
します。

[ ]
RE:25920 英語を表わす記号、日本語を表わNo.25921
秀まるお2 さん 08/12/25 15:24
 
 置換しないといけない件数が少ないなら、難しい正規表現を考えるよりは、
ENCODINGSHIFTJISさんのような方法を使うのが簡単でいいと思います。
 (僕もそういう作戦をよく使います。)

 正規表現でやるとしたら、

検索: (^[^\(]+)( )(\(.+)$
置換:\3 \1

 でいいと思います。

[ ]
RE:25921 英語を表わす記号、日本語を表わNo.25923
eigodoo1 さん 08/12/25 16:21
 
> 置換しないといけない件数が少ないなら、難しい正規表現を考えるよりは、
>ENCODINGSHIFTJISさんのような方法を使うのが簡単でいいと思います。
> (僕もそういう作戦をよく使います。)
>
> 正規表現でやるとしたら、
>
>検索: (^[^\(]+)( )(\(.+)$
>置換:\3 \1
>
> でいいと思います。


秀まるお2さん、ENCODINGSHIFTJISさんへ:
ありがとうございます。かなり、件数が多いので、正規表現の方がベターかなと思い
ます。次のような場合はどうすればいいですか:

@
collagen disease 膠原病 (=collagenosis)
collagen fiber 膠原線維
collapse 虚脱<状態>
coma 昏睡 (comatose a.)
competitive inhibition 競合的阻害
concentration 濃度
conduction 伝導
antidromic conduction 逆方向性伝導
confidence level 信頼度
conjugation 抱合
sulfate conjugation 硫酸抱合


A
valproate
(バルプロ酸)  抗癲癇薬  
vinblastine
(ビンブラスチン)  抗癌薬  
vitamin A
(ビタミン A)  ビタミン  
vitamin C [=ascorbic acid]
(ビタミン C [=アスコルビン酸])  ビタミン  
vitamin E [=tocopherol]
(ビタミン E [=トコフェロール])  ビタミン  

よろしくお願いします。




[ ]
RE:25923 英語を表わす記号、日本語を表わNo.25924
秀丸担当 さん 08/12/25 16:35
 
>1
>collagen disease 膠原病 (=collagenosis)
>collagen fiber 膠原線維
>collapse 虚脱<状態>
>coma 昏睡 (comatose a.)
>competitive inhibition 競合的阻害
>concentration 濃度
>conduction 伝導
>antidromic conduction 逆方向性伝導
>confidence level 信頼度
>conjugation 抱合
>sulfate conjugation 硫酸抱合

全角空白が区切りということであれば、

検索文字列 (^[^ ]+)( )(.+)$
置換文字列 \3\t\1

という感じでできるのではないかと思います。

>2
>valproate
>(バルプロ酸)  抗癲癇薬  
>vinblastine
>(ビンブラスチン)  抗癌薬  
>vitamin A
>(ビタミン A)  ビタミン  
>vitamin C [=ascorbic acid]
>(ビタミン C [=アスコルビン酸])  ビタミン  
>vitamin E [=tocopherol]
>(ビタミン E [=トコフェロール])  ビタミン  

英文が、行頭に半角括弧の無い行、日本文が行頭に半角括弧がある行、という
ルールであると勝手に決めてしまうとすれば、以下のようにするとできるのでは
ないかと思います。

検索文字列 (^[^\(].+)(\n)(\(.+)$
置換文字列 \3\t\1

[ ]
RE:25924 英語を表わす記号、日本語を表わNo.25925
eigodoo1 さん 08/12/25 17:01
 
>>1
>>collagen disease 膠原病 (=collagenosis)
>>collagen fiber 膠原線維
>>collapse 虚脱<状態>
>>coma 昏睡 (comatose a.)
>>competitive inhibition 競合的阻害
>>concentration 濃度
>>conduction 伝導
>>antidromic conduction 逆方向性伝導
>>confidence level 信頼度
>>conjugation 抱合
>>sulfate conjugation 硫酸抱合
>
>全角空白が区切りということであれば、
>
>検索文字列 (^[^ ]+)( )(.+)$
>置換文字列 \3\t\1
>
>という感じでできるのではないかと思います。
>
>>2
>>valproate
>>(バルプロ酸)  抗癲癇薬  
>>vinblastine
>>(ビンブラスチン)  抗癌薬  
>>vitamin A
>>(ビタミン A)  ビタミン  
>>vitamin C [=ascorbic acid]
>>(ビタミン C [=アスコルビン酸])  ビタミン  
>>vitamin E [=tocopherol]
>>(ビタミン E [=トコフェロール])  ビタミン  
>
>英文が、行頭に半角括弧の無い行、日本文が行頭に半角括弧がある行、という
>ルールであると勝手に決めてしまうとすれば、以下のようにするとできるのでは
>ないかと思います。
>
>検索文字列 (^[^\(].+)(\n)(\(.+)$
>置換文字列 \3\t\1


日本文が行頭に半角カッコがない場合は、どうすればいいですか:

たとえば:

betanidine
ベタニジン 降圧剤  
bezafibrate
ベザフィブラート 抗高脂血症薬  
bitolterol
ビトルテロール 気管支拡張薬  
bucumolol
ブクモロール 狭心症治療薬  
bumetanide
ブメタニド 利尿剤  

よろしくお願いします。

[ ]
RE:25925 英語を表わす記号、日本語を表わNo.25927
秀丸担当 さん 08/12/25 17:49
 

>日本文が行頭に半角カッコがない場合は、どうすればいいですか:

前にも例のあった、全角かどうかを判断基準にするのであれば、
[\x81\x40-\xFC\xFF]
これを括弧の代わりに用いればいいのではないかと思います。

例えば、以下のようにしてみるとか。

検索文字列 (^[^\x81\x40-\xFC\xFF].+)(\n)([\x81\x40-\xFC\xFF].+)$
置換文字列 \3\t\1

[ ]
RE:25927 英語を表わす記号、日本語を表わNo.25932
eigodoo1 さん 08/12/26 08:59
 
>
>>日本文が行頭に半角カッコがない場合は、どうすればいいですか:
>
>前にも例のあった、全角かどうかを判断基準にするのであれば、
>[\x81\x40-\xFC\xFF]
>これを括弧の代わりに用いればいいのではないかと思います。
>
>例えば、以下のようにしてみるとか。
>
>検索文字列 (^[^\x81\x40-\xFC\xFF].+)(\n)([\x81\x40-\xFC\xFF].+)$
>置換文字列 \3\t\1


ありがとうございます。

[ ]
RE:25932 英語を表わす記号、日本語を表わNo.26121
eigodoo1 さん 09/02/06 08:45
 
>>
>>>日本文が行頭に半角カッコがない場合は、どうすればいいですか:
>>
>>前にも例のあった、全角かどうかを判断基準にするのであれば、
>>[\x81\x40-\xFC\xFF]
>>これを括弧の代わりに用いればいいのではないかと思います。
>>
>>例えば、以下のようにしてみるとか。
>>
>>検索文字列 (^[^\x81\x40-\xFC\xFF].+)(\n)([\x81\x40-\xFC\xFF].+)$
>>置換文字列 \3\t\1
>
>
>ありがとうございます。


英文<タブ>和文という出来上がったペアを和文<タブ>英文に置き換えるのはどうすれ
ばいいですか?

[ ]
RE:26121 英語を表わす記号、日本語を表わNo.26122
秀まるお2 さん 09/02/06 08:57
 
 検索文字列が

     ^([^\t]+)\t(.+)$

 で、置換文字列が、

     \2\t\1

 とすれば、タブ文字の前後を入れ替えられます。
 (正規表現ONで)

[ ]
RE:26122 英語を表わす記号、日本語を表わNo.26124
eigodoo1 さん 09/02/06 10:18
 
> 検索文字列が
>
>     ^([^\t]+)\t(.+)$
>
> で、置換文字列が、
>
>     \2\t\1
>
> とすれば、タブ文字の前後を入れ替えられます。
> (正規表現ONで)


ありがとうございます。

[ ]
RE:26124 英語を表わす記号、日本語を表わNo.26344
eigodoo1 さん 09/03/10 17:25
 
>> 検索文字列が
>>
>>     ^([^\t]+)\t(.+)$
>>
>> で、置換文字列が、
>>
>>     \2\t\1
>>
>> とすれば、タブ文字の前後を入れ替えられます。
>> (正規表現ONで)
>
>
>ありがとうございます。

次のような規則的な組み合わせがあります:



悪性エナメル上皮腫【あくせいえなめるじょうひしゅ】malignant ameloblastoma
悪性顆粒細胞腫【あくせいかりゅうさいぼうしゅ】malignant granular cell tumor
悪性黒色腫【あくせいこくしょくしゅ】malignant melanoma
悪性線維性組織球腫【あくせいせんいせいそしききゅうしゅ】malignant fibrous hi
stiocytoma


上記の組み合わせを日本語タブ英語とするにはどうすればいいですか?
例えば、


malignant ameloblastomaタブ悪性エナメル上皮腫【あくせいえなめるじょうひしゅ】

ただし、ここで言う「タブ」とは\tのこととします。


[ ]
RE:25835 英語を表わす記号、日本語を表わNo.26348
eigodoo1 さん 09/03/11 08:34
 
>
>和文と英文の順番がなぜか変わっていますが、逆にしたいという場合は、置換文
>字列の\1と\2を入れ替えるといいと思います。
>
>あと、行頭から英文が始まるという場合は、検索文字列の先頭に「^」を付ける
>と行頭という意味になるので、「^」を付けるとより確実になるかもしれません。
>
>例
>検索文字列:   ^([ -~]+)([\x81\x40-\xFC\xFF].*)
>置換文字列:   \2\t\1


次のような規則的な組み合わせがあります:



悪性エナメル上皮腫【あくせいえなめるじょうひしゅ】malignant ameloblastoma
悪性顆粒細胞腫【あくせいかりゅうさいぼうしゅ】malignant granular cell tumor
悪性黒色腫【あくせいこくしょくしゅ】malignant melanoma
悪性線維性組織球腫【あくせいせんいせいそしききゅうしゅ】malignant fibrous hi
stiocytoma


上記の組み合わせを日本語タブ英語とするにはどうすればいいですか?
例えば、


malignant ameloblastomaタブ悪性エナメル上皮腫【あくせいえなめるじょうひしゅ】

ただし、ここで言う「タブ」とは\tのこととします。

[ ]
RE:26348 英語を表わす記号、日本語を表わNo.26349
秀まるお2 さん 09/03/11 08:48
 
 検索:】
 置換:】\t
 正規表現=ON

 でいいんじゃないでしょうか。

[ ]
RE:26349 英語を表わす記号、日本語を表わNo.26350
eigodoo1 さん 09/03/11 12:30
 
> 検索:】
> 置換:】\t
> 正規表現=ON
>
> でいいんじゃないでしょうか。

下記のように英単語、日本語をそれぞれ表わす正規表現はどうなりますか:


TGHA thyroglobulin bemagglutination サイログロブリン血球凝集反応
TGT thromboplastin generation test トロンボプラスチン形成試験
TGV transposition of the great vessels 大血管転位症

おそらく半角、全角で見分けると思いますが。


[ ]
RE:26350 英語を表わす記号、日本語を表わNo.26351
eigodoo1 さん 09/03/11 12:33
 
>> 検索:】
>> 置換:】\t
>> 正規表現=ON
>>
>> でいいんじゃないでしょうか。
>
>下記のように英単語、日本語をそれぞれ表わす正規表現はどうなりますか:
>
>
>TGHA thyroglobulin bemagglutination サイログロブリン血球凝集反応
>TGT thromboplastin generation test トロンボプラスチン形成試験
>TGV transposition of the great vessels 大血管転位症
>
>おそらく半角、全角で見分けると思いますが。
>


もうひとつ。その英単語には全角の文字、例えばγのような語も含まれることがあり
ます。とにかく、横文字と日本語を区分けする正規表現はどうなりますか?

[ ]
RE:26351 英語を表わす記号、日本語を表わNo.26352
秀まるお2 さん 09/03/11 14:17
 
 全角文字にヒットする用の正規表現は、

    [\x81\x40-\xFC\xFF]

 となります。全角文字以外なら、

    [^\x81\x40-\xFC\xFF]

 です。なので…

 間にタブを入れるならば、

 検索: ^([^\x81\x40-\xFC\xFF]+)([\x81\x40-\xFC\xFF].*)$
 置換: \1\t\2

 だし、日本語と英語の順番を入れ替えて間にタブを入れるなら、

 検索: ^([^\x81\x40-\xFC\xFF]+)([\x81\x40-\xFC\xFF].*)$
 置換: \2\t\1

 でいいんじゃないかと思います。

 「γ」のような文字が入っているケースについて、ある程度文字コードが限定
されてる(例えばギリシャ文字だけ)なら、その文字コードを[...]の中でうま
く指定することも可能かと思いますけども、他にもいろいろ文字が混じってそう
なら難しいと思います。そういう場合は手作業で直すのが無難だと思います。

[ ]
RE:26352 英語を表わす記号、日本語を表わNo.26353
eigodoo1 さん 09/03/11 15:46
 
> 全角文字にヒットする用の正規表現は、
>
>    [\x81\x40-\xFC\xFF]
>
> となります。全角文字以外なら、
>
>    [^\x81\x40-\xFC\xFF]
>
> です。なので…
>
> 間にタブを入れるならば、
>
> 検索: ^([^\x81\x40-\xFC\xFF]+)([\x81\x40-\xFC\xFF].*)$
> 置換: \1\t\2
>
> だし、日本語と英語の順番を入れ替えて間にタブを入れるなら、
>
> 検索: ^([^\x81\x40-\xFC\xFF]+)([\x81\x40-\xFC\xFF].*)$
> 置換: \2\t\1
>
> でいいんじゃないかと思います。
>
> 「γ」のような文字が入っているケースについて、ある程度文字コードが限定
>されてる(例えばギリシャ文字だけ)なら、その文字コードを[...]の中でうま
>く指定することも可能かと思いますけども、他にもいろいろ文字が混じってそう
>なら難しいと思います。そういう場合は手作業で直すのが無難だと思います。




「^」の記号は何のためにありますか?

[ ]
RE:26353 英語を表わす記号、日本語を表わNo.26354
秀まるお2 さん 09/03/11 18:18
 
 単独の「^」は、行頭という意味で、[...]の中の「^」は、[...]の中で指定し
た文字以外の文字にヒットする、みたいな意味ですが、この辺の意味を簡単に理
解するのはちょっと難しいです。

 とりあえず、この辺のことについてはヘルプの中に書いてあるのでそちらを見
てほしいです。ヘルプは、秀丸エディタのメニューの「その他」の中の、「秀丸
エディタ - ヘルプ」を実行すると出てきます。

 そこの「目次」の中に「検索系コマンド」があるので、それを展開すると、そ
の配下に「正規表現」というのがあります。そこのヘルプページを見ると、正規
表現で使ういろんな記号について書いてあります。

 ヘルプだけでは意味を理解するのは難しいかもしれないので、例えばこの前説
明した「googleで検索してみる」という作戦も使うといいんじゃないかと思いま
す。例えば僕が今ちょっと「正規表現」でgoogle検索してみたら、「サルにもわ
かる正規表現入門」とか「正規表現サンプル集」とかがあるようです。

 「秀丸 正規表現」で検索すると、

 「秀丸エディタを使いこなす - 正規表現 - インデックス--」

 なんていう、親切丁寧に作られたようなサイトまであるようです。

 ただ、正規表現を使いこなすのは実際はなかなか難しいので、ある程度ややこ
しい置換作業は、手作業でやった方が無難だと思います。「本末転倒」って言葉
ご存じだと思いますけど、そういうことになってしまうこともあります。難しい
正規表現パターンを考えるのに格闘して時間をかけるよりも、実は手作業でやっ
た方が結果として短時間に作業が終わるということも多いと思います。

[ ]