将子字符串与perl中的空格匹配

时间:2014-03-31 09:48:49

标签: regex perl

我正在尝试将子字符串与perl中的给定字符串匹配。

当子字符串包含空格时,匹配失败。

示例:

请考虑以下字符串变量:

var = "test [abc], def, xyz,"

表达式:

($var=~ m/test [abc]/)

不会返回1.

没有空格的字符串工作正常:

Example:

($var=~ m/def/)

is returning 1.

请帮忙。

由于

2 个答案:

答案 0 :(得分:5)

正则表达式中的

[]具有特殊含义。它们定义了字符类。如果您想匹配[],则需要将其转义:

$var=~ m/test \[abc\]/

答案 1 :(得分:2)

[]是正则表达式中的字符类。你必须逃脱那些:

($var=~ m/test \[abc\]/)

在您的示例中,test [abc]将匹配test atest btest c。原因[abc]表示a,b,c

中的任何一个