如果我想检查字符串是包含aaa还是aab还是a?
,有人能告诉我在绑定表达式中需要写什么模式吗?$str = "Hello how are aaa you?";
print $str =~ m/what should i write here?/;
答案 0 :(得分:8)
$str =~ /a|aaa|aab/
您可能需要查看regular operator precedence,以确保不会被/^foo|bar$/
(匹配^foo
或bar$
等问题所困,与{{1 }})。
答案 1 :(得分:6)
$str =~ /a/
(考虑一下......)
答案 2 :(得分:3)
(aaa|aab|a)
...
答案 3 :(得分:0)
鉴于mscha的观点(回答不评论)我想知道你是否真的想要匹配并保持。如果你想知道你发现了什么,尝试捕获一个数组的全局匹配。
#!/usr/bin/perl
use strict;
use warnings;
my $str = "Hello how are aaa you?";
my @found = $str =~ m/(aaa|aab|a)/g;
foreach my $result (@found) {
print "found $result\n";
}