1

私はこのような行を持っています:

$/Reporting/MSReportin gServices/Alle gro/Ex eXYZ.All egro.Ss rs:

スペースはタブなので、実際は次のようになります。

$/Reporting/MSReportin gServices/Alle{TAB}gro/Ex{TAB}eXYZ.All{TAB}egro.Ss{TAB}rs:

$記号で始まる各行の最初のタブを見つける必要があります。

RegExを使用してこれを行うにはどうすればよいですか?

4

3 に答える 3

2
^\$(.*?)\t

最初のタブの前のテキストをキャプチャします。キャプチャされたテキストの長さに 1 を加えた長さ (ドルの場合) が、タブのインデックスを示します。

于 2010-09-13T14:11:15.143 に答える
1

この式はそれを行うべきだと思います:^\$(/\w+/\w+)\t

于 2010-09-13T14:15:40.973 に答える
1

最初のタブを取得して置き換える方法は次のとおりです。

#!/usr/bin/perl
use strict;
use warnings;

my $s = qq!\$/Reporting/MSReportin\tgServices/Alle\tgro/Ex\teXYZ.All\tegro.Ss\trs:!;
$s =~ s/^(\$[^\t]*?)\t/$1HERE_IS_THE_FIRST_TAB/;
print '$1 = ',$1,"\n";
print '$s = ',$s,"\n";

出力:

$1 = $/Reporting/MSReportin
$s = $/Reporting/MSReportinHERE_IS_THE_FIRST_TABgServices/Alle  gro/Ex  eXYZ.All    egro.Ss rs:

しかし、あなたはその意味が何であるかについてより具体的にする必要がありますfind the first tab

于 2010-09-13T15:18:22.623 に答える