Regex 如何获得正确的正则表达式以获得我想要的输出
您好,我正在使用perl,现在我不知道如何获得想要的输出。我只想打印所有数字。下面的数字是我的代码。我希望这里的人能帮我找到一个合适的正则表达式 请帮帮我。。。这是我的密码Regex 如何获得正确的正则表达式以获得我想要的输出,regex,perl,Regex,Perl,您好,我正在使用perl,现在我不知道如何获得想要的输出。我只想打印所有数字。下面的数字是我的代码。我希望这里的人能帮我找到一个合适的正则表达式 请帮帮我。。。这是我的密码 #!/usr/bin/perl my $string = "<TR><TD COLSPAN=2 VALIGN=TOP>Please enter the random key shown below:<TR><TD> <TD VALIGN=TOP>&
#!/usr/bin/perl
my $string = "<TR><TD COLSPAN=2 VALIGN=TOP>Please enter the random key shown below:<TR><TD> <TD VALIGN=TOP><FONT SIZE=+1><FONT COLOR=WHITE>...</FONT>4<FONT COLOR=WHITE>...</FONT>5<FONT COLOR=WHITE>...</FONT>4<FONT COLOR=WHITE>..</FONT>4<FONT COLOR=WHITE>..</FONT>2<FONT COLOR=WHITE>..</FONT>2</FONT></TR>";
if ($string =~ m,</FONT>(\d)<FONT COLOR=WHITE,i) {
print "$1\n"; #output 454422
} else {
print "Wrong Regex! \n";
}
#/usr/bin/perl
my$string=“请输入如下所示的随机键:…4…5…4…4…2…2”;
如果($string=~m,(\d)您正在查找“全局匹配”的/g
标志,它匹配模式的所有匹配项,而不仅仅是第一个匹配项
while ( $string =~ m,</FONT>(\d)<FONT COLOR=WHITE,ig ) {
print "$1\n";
} # output 45442
我假设您想要的输出是注释行#output 454422
。要得到它,您需要在while
-循环中包装正则表达式并添加/g
。现在,它只匹配一次
my $string =
"<TR><TD COLSPAN=2 VALIGN=TOP>Please enter the random key shown below:<TR><TD> <TD VALIGN=TOP><FONT SIZE=+1><FONT COLOR=WHITE>...</FONT>4<FONT COLOR=WHITE>...</FONT>5<FONT COLOR=WHITE>...</FONT>4<FONT COLOR=WHITE>..</FONT>4<FONT COLOR=WHITE>..</FONT>2<FONT COLOR=WHITE>..</FONT>2</FONT></TR>";
while ( $string =~ m,</FONT>(\d)<FONT COLOR=WHITE,ig ) {
if ($1) {
print "$1\n";
#output 454422
} else {
print "Wrong Regex! \n";
}
}
my$string=
“请输入如下所示的随机键:…4…5…4…4…2…2”;
虽然($string=~m,(\d)欢迎使用stackoverflow。很高兴您展示了您的代码。现在,您说输出与您想要的不一样……那么,您想要如何输出呢?它有什么问题吗?另一件事:您可能会有人告诉您不要使用正则表达式解析HTML。
my $string =
"<TR><TD COLSPAN=2 VALIGN=TOP>Please enter the random key shown below:<TR><TD> <TD VALIGN=TOP><FONT SIZE=+1><FONT COLOR=WHITE>...</FONT>4<FONT COLOR=WHITE>...</FONT>5<FONT COLOR=WHITE>...</FONT>4<FONT COLOR=WHITE>..</FONT>4<FONT COLOR=WHITE>..</FONT>2<FONT COLOR=WHITE>..</FONT>2</FONT></TR>";
while ( $string =~ m,</FONT>(\d)<FONT COLOR=WHITE,ig ) {
if ($1) {
print "$1\n";
#output 454422
} else {
print "Wrong Regex! \n";
}
}