喫茶XRAYトップページ

[スレッド全体
]

[3231] Re5:何かむなしい返信 削除
2010/4/4 (日) 09:50:29 Mr.XRAY
▼ TSさん,どうもです.

> で、質問者の立場に立つと恐らく本当に初心者の方なのだと
> 思います、WebBrowserの場合だと回答者が何を言っているのか
> 分からないのだと思います、正直私もWebBrowserをただの表示
> 位しか使わないので回答をみても何の事かよく分かりません。


確かに,私の最初のレスはキツイですよね.
「売り言葉に買い言葉」みたいのがありました.
どうして,そういうことをやらなければいけないかを説明すべきだったん
でしょうね.

言い訳になってしまいますが,質問された方も,他の言い方が
あってもいいと思ったんです.
それで,ちょっとカチンときてしまったんですよね.
で,ちょっと反省して,その後のレスとなりました(見え見えですけど).

> しかし、Mr.XRAYさんの回答は質問者に対するものかも
> しれませんが、これは他の方に(私も含めて)大変参考になります。


Halbowさんみたいなことを.... (^^)

正規表現ですが,今回サイトの整備でHTMLファイルを書き換えたりするのに
使ってみました.マニュアルとにらめっこしながら (^^;
記号の羅列みたいので,とっつきにくいですよね.


[3232] Re6:> 正規表現について返信 削除
2010/4/4 (日) 23:02:11 TS
▼ Mr.XRAYさん

たまたま、今回定数でintegerでマイナスの数値が書かれてあるプログラムの
ソースコードを一括で変更したいと言う事があって使ってみました。

> 記号の羅列みたいので,とっつきにくいですよね.

使いこなすのは大変そうですが、DEKOさんのサンプルと
ネット上のサンプルを参考にしたのですが、便利ですね。
これから、活躍しそうです。


[3233] Re6:何かむなしい返信 削除
2010/4/5 (月) 08:03:40 DEKO
> どうして,そういうことをやらなければいけないかを
> 説明すべきだったんでしょうね.

そうやって資料が 100P 超えるんですね、わかります (w

結果だけを求めるヒトと、理屈を求めるヒト双方のニーズを満たすのは
意外に難しいですよね。

「こうするべきだ!」と結果を主張しても、「えー?こっちがいいんじゃ?」と
反論される事があり、結局主張の背景をイチから説明しなきゃいけなかったりとか。



正規表現に関しては、次のセッションでもちょっと時間を割いてあります。
出し惜しみしても仕方ないので、サンプルを上げておきますね。

uses
  ..., SKRegExpW;

  // SKRegExp による正規表現マッチング
  if ExecRegExp('[吉'#$20BB7']野[家屋]', Edit1.Text, []) then
    ShowMessage('Match')
  else
    ShowMessage('No match');


// SKRegExp によるマッチング文字列取得
var
 RegExp: TSkRegExp;
begin
 result := '';
 RegExp := TSkRegExp.Create;
 try
   RegExp.Expression := '[吉'#$20BB7']野[家屋]';
  if RegExp.Exec(Edit1.Text) then
   result := RegExp.Match[0];
 finally
  RegExp.Free;
 end;
end;

「入力された文字列が 某有名外食チェーン店の 名前に一致するか?」
のサンプルです。誤記にも対応しています。

1 番目の例は単純なマッチングです。
Create しないでいいので気軽に使えます。

2 番目の例で RegExp.ExecNext を使えば、 マッチする文字列が複数含まれる
場合に繰り返して文字列を抽出できます。

[3235] Re7:何かむなしい返信 削除
2010/4/5 (月) 09:22:51 Mr.XRAY
▼ DEKOさん

> 結果だけを求めるヒトと、理屈を求めるヒト双方のニーズを満たすのは
> 意外に難しいですよね。


御意!
そうなんですよね.発言の文章から,
「そういうことはいいから,とにかく動くコード」を欲しがる方も.
理屈を述べれば長くなり,読みたくない方だっているかも知れませんし.

一方で理屈を知れば納得の度合いも深まる場合もあるし.
難しいです.
理屈みたいのを書くのは苦手です.会話であれば自然に内容の修正やら
ができますが,文章となると,用語の間違いなどに気を使う必要もあるし.

># SKRegExp は Unicode 版 Delphi に最適化された
># 1.0x がリリースされています。


DLしちゃいました.

# Delphi2010の人はどうなったんでしょうね?


[3236] 正規表現返信 削除
2010/4/5 (月) 16:02:27 Mr.XRAY
▼ DEKOさん,今改めて見たら細かい配慮ですね.

>   if ExecRegExp('[吉'#$20BB7']野[家屋]', Edit1.Text, []) then

確かに[家屋]とした方が確実ですね.
今回のサイトの整備で結構修正漏れがあったのも,このあたりかな?

前にサイト移動の時は,Delphiでプログラム組んで,HTML全て読みこんで
リンクやHTMLコードの修正などを行いました.
今回は正規表現使ってみたんです.

あっ,そうそう,この掲示板をご覧の方で,この「正規表現」に馴染みの
ない方は,こう考えてください.
あれっ!? 用語がでてこない.認知症の始まり?

そうそう,検索の時のワイルドカードの発展したものと考えてください.
例えば *ABC と書けば語尾にABCがあるものを検索しますが,それをもっと
いろいろな検索条件を指定できるようになります.

HTMLコード等では,特定のタグだけではなく,タグ内の文字に条件をつけて
検索して置換,ということなどもできるようになります.
もちろん,行をまたがっての作業も可能です.


[3237] Re:正規表現返信 削除
2010/4/5 (月) 16:10:44 Mr.XRAY
> そうそう,検索の時のワイルドカードの発展したものと考えてください.

ここの図6もその一例です.gawk.exeというのを使用していますが.

http://mrxray.on.coocan.jp/Delphi/plSamples/552_PipeRedirect.htm#01


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82