如何不匹配perl中某行的某些部分的空格

时间:2017-02-27 05:01:29

标签: regex perl

我有一句话:

WITH cte AS (
    SELECT *,
          LAG(AttendanceType,  1, 'Present') OVER (ORDER BY ADate) AS lag_at,
          LEAD(AttendanceType, 1, 'Present') OVER (ORDER BY ADate) AS lead_at
    FROM yourTable
)

UPDATE cte
SET NonWorking = 1
WHERE lag_at = 'Absent' OR lead_at = 'Absent'

我需要使用正则表达式来匹配AC之后的部分字符串。我使用以下代码:

$lines = AC   P00450; Q14063;

它给了我以下输出:

if ($lines =~ /^AC(.*)/) {
    print $1, "\n";
}

如何调整我的正则表达式,使其与AC之后的空格不匹配,在P00450之前只返回P00450; Q14063;没有前面的空白?我知道我的输出是因为。*匹配任何类型的字符。这基本上是我想要的,但没有P00450之前的空白。

1 个答案:

答案 0 :(得分:0)

排除一个或多个空格。

if ($lines =~ /^AC\s+(.*)/)