正则表达式查询在EOL之前找到第一个选项卡

时间:2010-09-13 14:06:35

标签: regex editplus

我有一行看起来像这样:

$/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执行此操作?

3 个答案:

答案 0 :(得分:2)

^\$(.*?)\t

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

答案 1 :(得分:1)

我认为这个表达式应该这样做:^\$(/\w+/\w+)\t

答案 2 :(得分: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

的含义
相关问题