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

捕获第一个选项卡之前的文本。捕获文本的长度加一(对于美元)告诉您选项卡的索引。

于 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 回答