Perl Regex是否存在某些字符串

时间:2017-09-11 12:05:10

标签: regex perl

今天我再次需要你的帮助。 我正在学习Perl和我的第一个Job是扩展一个小脚本,它等待虚拟机输出这个输出:

Info: SOME_RANDOM_STRING: Focus switched to: [b] (1)

OR

Info: Focus switched to: [b] (1)

所以" SOME_RANDOM_STRING:"可以在那里,但现在我不需要匹配那些来决定输出是否存在。我试过了

Info: [a-zA-Z0-9*:]* Focus switched to: [b] (1)

这匹配"信息:SOME_RANDOM_STRING:焦点切换为:[b](1)"但不是"信息:焦点切换到:[b](1)"

2 个答案:

答案 0 :(得分:2)

您必须捕获包含随机字符串的两个空格中的一个。

这根本不匹配任何空间:

[a-zA-Z0-9:]*

请改用:

( [a-zA-Z0-9:]+)?

答案 1 :(得分:1)

我做:

$str =~ /Info:.*?Focus switched to: \[b\] \(1\)/;

.*?匹配任何不贪心的任何数字。