用Regex(perl)忽略空白

#0

what you have there should match just fine. the regex will match any occurance of the pattern hello, so as long as it sees "hello" somewhere in $var it will match

On the other hand, if you want to be strict about what you ignore, you should anchor your string from start to end

if($var =~ m/^\s*hello\s*$/) {
}

and if you have multiple words in your pattern

if($var =~ m/^\s*hello\s+world\s*$/) {
}

\s* matches 0 or more whitespace, \s+ matches 1 or more white space. ^ matches the beginning of a line, and $ matches the end of a line.

#1

This regex is a little unrelated but if you wanted to concatenate all of the whitespaces from your string before passing it through the if.

s/[\h\v]+/ /g;

#2

As other have said, Perl matches anywhere in the string, not the whole string. I found this confusing when I first started and I still get caught out. I try to teach myself to think about whether I need to look at the start of the line / whole string etc.

Another useful tip is use \b. This looks for word breaks so /\bbook\b/ matches

"book. "
"book "
"-book"

but not

"booking"
"ebook"

#3

/^\shello\s$/

推荐文章

已添加具有相同密钥的项-csvreader.fieldcount

已添加具有相同密钥的项-csvreader.fieldcount

推荐文章

QGraphicsView未显示在QMainWindow中

QGraphicsView未显示在QMainWindow中

推荐文章

CodeIgniter表单验证-回调未绑定到字段

CodeIgniter表单验证-回调未绑定到字段

推荐文章

当鼠标放在HTML上时,如何更改图像?

当鼠标放在HTML上时,如何更改图像?

推荐文章

使用GetTable时如何访问Outlook邮件的收件人?

使用GetTable时如何访问Outlook邮件的收件人?

推荐文章

在Silverlight中设置边框的背景色动画,在VisualStateGroups中设置状态优先级

在Silverlight中设置边框的背景色动画,在VisualStateGroups中设置状态优先级

推荐文章

是否需要将空指针分配给std::auto-ptr

是否需要将空指针分配给std::auto-ptr

推荐文章

Haxe——像在ActionScript中嵌入文件?

Haxe——像在ActionScript中嵌入文件?

推荐文章

使用PHPDoc@property加载自动完成模型

使用PHPDoc@property加载自动完成模型

推荐文章

在一个查询中使用DAY()、WEEK()和YEAR()

在一个查询中使用DAY()、WEEK()和YEAR()

推荐文章

使用MSG_PEEK在select()和recv之间的效率。异步的

使用MSG_PEEK在select()和recv之间的效率。异步的

推荐文章

清洁原型叉(好主意?)

清洁原型叉(好主意?)

推荐文章

Joomla 1.5文章元关键字和描述管理

Joomla 1.5文章元关键字和描述管理

推荐文章

Clonefish验证vs代码点火器验证

Clonefish验证vs代码点火器验证

推荐文章

JButton可以工作,但在单击时不会显示我的图标

JButton可以工作,但在单击时不会显示我的图标

推荐文章

在HTML5画布上撕扯?

在HTML5画布上撕扯?