perl中的元字符

前端之家收集整理的这篇文章主要介绍了perl中的元字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_4@
 
$alerttext1 =~ s/\*/ANYCHARACTERS/g;

 my $regex = qr/\Q$alertext1\E/i;   #将所有的元字符都预先转义

# \Q 在non-word 字符前加上\,直到\E
# \E 结束\L,\E 和\Q

$regext =~ s/ANYCHARACTERS/.*/g;

if($text1 =~ $regex ...

Perl中的元字符如下: \A    只匹配字符串开头 \b    匹配单词边界 \B    匹配单词边界之外的任意字符 \d    匹配数字字符,它与[0-9]相同 \D    匹配非数字字符 \s    匹配空白字符 \S    匹配非空白字符 []    包围一个字符类,字符类包括:[0-9]  [a-z]  [a-zA-Z] 等类似。 ()    包围一个字符分组或定义一个反引用 $    匹配行尾 ^    匹配行首 *    匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \* +    匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+ ?    匹配前面的子表达式零次或一次,或指明一个非贪婪限定符 \?  .    匹配除换行之外的任何字符 \    引出下一个元字符 \w    匹配任何只包含下划线和字母数字字符的字符串,它与 [a-zA-Z0-9_]相同 \W  匹配没有下划线和字母数字字符的字符串 这些元字符的优先级如下: 1.在此优先级表的最顶端是括号:(()),在分组和引用内存值的时候使用。括号内部的任何部分比括号外的部分结合更紧密。 2.第二级是数量词。这里有星号(*),加号(+),问号(?)以及由花括号表示的数量词,如{5,15},{3,},{5}等。它们通常和前一项元素结合。 3.第三级的是锚定和序列(sequence)。锚定包括(^) 表明字符串的开头,($)表明结尾,(\b)词界符,(\B)非词界符。序列(一个元素紧接着一个元素)实际上是一种操作,虽然它没有使用元字符。这段话的含义是一个单词中的字母结合更紧密,就像锚定紧贴字母一样。 4.优先级最低的是竖线(|),表示或。由于其优先级最低,它通常将模式划分成几个部分。它在优先级最底端是因为我们希望像|/fred|barney/里面的字母比或(|)结合更紧密。如果或(|)的优先级比序列的优先级更高,那么,上述模式的含义是匹配fre,接着是d 或者b,然后是arney。因此,或(|)的优先级最低,字母序列的优先级要高些。 除了优先级表外,还有被称为原子(atoms)的东西,它们组成模式最基本的块。它们是单个字符,字符类,以及后引用(backreference)。 @H_403_4@ @H_403_4@

猜你在找的Perl相关文章