正则表达式
. 匹配任意一个字符
* 匹配前一字符零次或多次
.* 匹配任意字符零次或多次
+ 匹配前一字符一次或多次
? 匹配前一字符零次或一次
| 或,择一匹配
[a-z]
[abc] 匹配其中一个
\s 匹配任意空白字符
/[\dA-Fa-f]+/ 匹配十六进制数
[\d] 匹配任何数字
[\D] 匹配任何非数字
[\d\D] 匹配任意字符(小写为原意,大写为否定意义)
^ 仅匹配串首
$ 仅匹配串尾
\d 任意数字 [0-9]
\D 除数字外的任意字符 [^0-9]
\w 任意单词字符 [_0-9a-zA-Z]
\W 任意非单词字符 [^_0-9a-zA-Z]
\s 空白 [ \r\t\n\f]
\S 非空白 [^ \r\t\n\f]
=~ 检验匹配是否成功:成功则返回true;不匹配则返回0,即false。
!~ 相反。
/string/i 大小写无关匹配
/abc.*def/s 匹配任意字符,包括换行符
/a{5,15}/ 匹配重复出现5-15次的字母a
替换操作符
s/src/place/ src替换成place,只替换一次
/g 全局替换
s/^\s+// 去除开头的空白
s/\s+$// 去除结尾的空白
my @fields = split(/separator/,$str);#将str按分隔符进行分割
my @fields = split(/\n+/, $str); 按换行符分割
my @fields = split(/\s+/, $str); 按空格分割