做网站的销售团队,wordpress 恢复默认,wordpress 转盘插件,优质院校 建设网站1、简单模式#xff1a;若模式匹配的对象是$_的内容#xff0c;只要把模式写在一对斜线//中就可以了#xff0c;其实也是m//的缩写#xff0c;m可以省略。
$_ yabba dabba doo;if(/abba/){print matched;}
2、若模式匹配的对象不是$_的内容若模式匹配的对象是$_的内容只要把模式写在一对斜线//中就可以了其实也是m//的缩写m可以省略。
$_ yabba dabba doo;if(/abba/){print matched;}
2、若模式匹配的对象不是$_的内容绑定操作符~用右边的模式来匹配左边的字符串。“
if ($question ~ /please/) {
print (Thank you for being polite!\n);
}
else {
print (That was not very polite!\n);
}
3、模式中的特殊字符 1 表示匹配前一个条目一次以上。如/def/指def、deef、deeeeef等。它尽量匹配尽可能多的相同字符如/ab/在字符串abbc中匹配的将是abb而不是ab。
2* 表示匹配前一个条目零次或多次。如/de*f/匹配df、def、deeeef等。
3?表示前一个条目可有可无。如/de?f/匹配def、df。
4. 是能匹配任意一个字符的通配符换行符除外。如/bet.y/可以匹配betty、betsy、bety、等等。因此.*会匹配任意字符零次到无限次数。.会匹配任意字符1次以上。
5转义字符\ 如果你想在模式中包含通常被看作特殊意义的字符须在其前加斜线”\”。如/*/中*即表示字符*而不是上面提到的一个或多个字符的含义。斜线的表示为/\/点号的表示为/./。
6匹配任意字母或数字 [a-z]表示任意小写字母[A-Z]表示任意大写字母。任意大小写字母、数字的表示方法为/[0-9a-zA-Z]/。 首字母大写其余小写表示方法为/[A-Z][a-z]/。
7字符集 \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]
8锚位 ^ 或 \A 仅匹配串首 $ 或 \Z仅匹配串尾 \b 匹配单词边界 \B 单词内部匹配
例如/^def/只匹配以def打头的字符串/def /只匹配以def结尾的字符串结合起来的/def /只匹配以def结尾的字符串,结合起来的/^def/只匹配字符串def(?)。\A和\Z在多行匹配时与^和$不同。 /\bfred\b/可以匹配fred,但无法匹配fredrick、alfred、或manfredmann。 \B它能匹配所有\b不能匹配的位置。因此/\bsearch\B/会匹配searches、searching与searched但不能匹配search或researching。
9匹配指定数目的字符 字符对{}指定所匹配字符的出现次数。如/de{1,3}f/匹配def,deef和deeef/de{3}f/匹配deeef/de{3,}f/匹配不少于3个e在d和f之间/de{0,3}f/匹配不多于3个e在d和f之间。
10择一匹配 字符”|”指定两个或多个选择来匹配模式。如/def|ghi/匹配def或ghi。
4、模式匹配修饰符flag /g 改变模式中的所有匹配 /i 忽略模式中的大小写 /e 替换字符串作为表达式 /m 将待匹配串视为多行 /o 仅赋值一次 /s 将待匹配串视为单行 。因为点号.无法匹配换行符那么/s将模式中的每个点号转换成字符集[\d\D]来处理就是说匹配任意字符包括换行符。 /x 忽略模式中的空白
5、用s///进行替换 查找并替换但是该操作只会进行一次替换。s///g可以进行所有可能的不重复的替换。 例如 s/^\s//; 将开头的空白替换成空字符串 s/\s$//; 将结尾的空白替换成空字符串 s/^\s|\s$//g; 去除开头和结尾的空白符
6、大小写转换 \U将其后的所有字符转换成大写的 \L : 将其后的所有字符转换成小写的 \E 关闭大小写转换的功能 \l和\u: 只影响其后的第一个字符
例如
$_ I saw Barney with Fred;
s/(fred|barney)/\U$1/gi; # I saw BARNEY with FRED
s/(fred|barney)/\L$1/gi; # I saw barney with fred
s/(\w) with (\w)/\U$2\E with $1/i; # I saw FRED with barney
s/(fred|barney)/\u$1/ig; # I saw FRED with Barney
s/(fred|barney)/\u\L$1/ig; # I saw Fred with Barney
7、split操作符 my array split /separator/, $string; my array split /:/, “abc:def:g:h”; # 得到(“abc”, “def”, “g”, “h”) split会保留开头处的空字段舍弃结尾处的空字段 my array split /:/, “:::a:g:h:::”; # 得到(“”, “”, “”, “a”, “g”, “h”)
8、join函数
my $result join $gluepieces;
注意列表必须至少有两个元素否则无法用胶水结合成一个字符串。$glue 必须是字符串而不是模式。
my $result join :, 4,6,8; # 得到4:6:8