Regex Perl使用带变量的匹配函数
如何使用变量而不是简单文本检查匹配。 我试过: 两种选择:Regex Perl使用带变量的匹配函数,regex,perl,match,Regex,Perl,Match,如何使用变量而不是简单文本检查匹配。 我试过: 两种选择: 在正则表达式模式中插入$\u searchingText: print 'yes' if $_text =~ /$_searchingText/; 将$\u searchingText声明为模式: $_searchingText = qr/me/; print 'yes' if $_text =~ $_searchingText; 两种选择: 在正则表达式模式中插入$\u searchingText: print 'yes' i
$\u searchingText
:
print 'yes' if $_text =~ /$_searchingText/;
$\u searchingText
声明为模式:
$_searchingText = qr/me/;
print 'yes' if $_text =~ $_searchingText;
$\u searchingText
:
print 'yes' if $_text =~ /$_searchingText/;
$\u searchingText
声明为模式:
$_searchingText = qr/me/;
print 'yes' if $_text =~ $_searchingText;
索引函数似乎可以完成您想要做的事情(它似乎是在
$\u text
中“索引”$\u searchingText
)
试试这个:
#!/usr/bin/perl -w
use strict;
my $_text = 'Please Help me here!';
my $_searchingText = 'me';
if(index $_searchingText, $_text){
print 'yes!';
}
或者,您可以将要匹配的变量($\u searchingText
)放入正则表达式匹配运算符中:
#!/usr/bin/perl -w
use strict;
my $_text = 'Please Help me here!';
my $_searchingText = 'me';
if($_text =~ m/$_searchingText/){
print 'yes!';
}
希望有帮助;如果我能澄清一下,请告诉我,索引函数似乎可以做您想要做的事情(它似乎是在
$\u text
中“索引”$\u searchingText
)
试试这个:
#!/usr/bin/perl -w
use strict;
my $_text = 'Please Help me here!';
my $_searchingText = 'me';
if(index $_searchingText, $_text){
print 'yes!';
}
或者,您可以将要匹配的变量($\u searchingText
)放入正则表达式匹配运算符中:
#!/usr/bin/perl -w
use strict;
my $_text = 'Please Help me here!';
my $_searchingText = 'me';
if($_text =~ m/$_searchingText/){
print 'yes!';
}
希望有帮助;请告诉我是否可以澄清正如其他人所指出的,您需要在正则表达式周围放置正则表达式标记:
if ($_text =~ /$_searchingText/) {
而不是
if ($_text =~ $_searchingText) {
Perl还可以具有标量Perl变量,该变量包含正则表达式,而不仅仅是字符串或数字:
my $_text = 'Please Help me here!';
my $_searchingText = qr/me/;
if ($_text =~ $_searchingText) {
print 'yes!';
}
qr
运算符将$\u searchingText
中包含的值作为正则表达式,因此在if
语句中不需要分隔符。它们是可选的。请参阅。正如其他人指出的,您需要在正则表达式周围放置正则表达式标记:
if ($_text =~ /$_searchingText/) {
而不是
if ($_text =~ $_searchingText) {
Perl还可以具有标量Perl变量,该变量包含正则表达式,而不仅仅是字符串或数字:
my $_text = 'Please Help me here!';
my $_searchingText = qr/me/;
if ($_text =~ $_searchingText) {
print 'yes!';
}
qr
运算符将$\u searchingText
中包含的值作为正则表达式,因此在if
语句中不需要分隔符。它们是可选的。看。你试过了吗?然后呢?这对我有用!看这里,你试过了吗?然后呢?这对我有用!看这里,再测试一次;在我的终端工作。。。index函数在另一个字符串中搜索一个字符串,但没有完全正则表达式模式匹配的类似通配符的行为;在我的终端工作。。。index函数在另一个字符串中搜索一个字符串,但没有完全正则表达式模式匹配的类似通配符的行为。