正则表达式匹配的问题

potato1234 2011-08-01 02:56:21
想匹配文本中的这些行:
if a;
if a and b;
if a;
if a and b;
我的正则是这样写的:
$part =~ m/(if\s*\w\s*((and)?)\s*\w?\s*;$)/ismg

但是输出结果一直不对,希望大家能帮忙解答一下
...全文
48 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
potato1234 2011-08-01
  • 打赏
  • 举报
回复
好的,我试一下,谢谢您的答复。
后来我改了一下写法:
$part =~ m/(if\s*\w\s*(and?)\s*\w?\s*;)/ismg
[Quote=引用 1 楼 will2ni 的回复:]
试试这样

Perl code
#! perl
use strict;
my $str = "if a;

if a and b;
if a;
if a and b;";

if ( $str =~ /((\s+)?if\s+\w+(\s+and\s+\w+)(.*?)){2}/s ) {
print $str;
}
[/Quote]
m00z 2011-08-01
  • 打赏
  • 举报
回复
试试这样
#! perl
use strict;
my $str = "if a;

if a and b;
if a;
if a and b;";

if ( $str =~ /((\s+)?if\s+\w+(\s+and\s+\w+)(.*?)){2}/s ) {
print $str;
}

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧