私のプログラムは、他のプログラムのソースコードを読み、使用されたSQLクエリに関する情報を収集します。私は部分文字列を得ることに問題があります。Perlでは、マッチした部分文字列を正規表現からどのように得ることができますか?
...
$line = <FILE_IN>;
until(($line =~m/$values_string/i && $line !~m/$rem_string/i) || eof)
{
if($line =~m/ \S{2}DT\S{3}/i)
{
# here I wish to get (only) substring that match to pattern \S{2}DT\S{3}
# (7 letter table name) and display it.
$line =~/\S{2}DT\S{3}/i;
print $line."\n";
...
結果の印刷では、行全体が表示され、部分文字列は表示されません。私は別のアプローチを試みましたが、私はPerlをほとんど使用せず、おそらく基本概念の誤りを作ります。 (tablenameの行の位置は固定されていません。別の問題は[... SELECT * FROM AADTTAB、BBDTTAB、...])です。その部分文字列を取得するにはどうすればよいですか?
すばやくさまざまなアプローチに感謝します。私はそれらを昨日と今日の朝に使用しようとしました。また、私の即興スタイルを教えてくれたことに感謝します。今日私は私がウィンドウズの下で働いていることを知らせなかったことを認識しています(私の真珠はこれです:これはperlです、v5.8.7はMSWin32-x86-マルチスレッド用に作られました)Copyright 1987-2005、Larry Wall Binary build 813 [148120] ActiveState www.ActiveState.com 2005年6月6日13時36分37秒)。 もう一度ありがとうございます。 –
私は "無知は至福です"の後、少し苛立っていましたが、それは私に押しつけられました...まあ...今、私は「捕獲集団」が「括弧/括弧」という意味を知っています。私はすでに愚かな気がします。 ところで、パールの名前を変更するプロの世界的な投票は誰か - 私は知らない - パール? ;) –
Larry Wallが名前を探していたときに、既にPearlという名前の言語がありました。 –