正则表达式中\L、\Q和\E的用法总结
前言:在数字电路验证中,我们经常需要处理各种Hierarchy,在把特定的Hierarchy作为Pattern进行匹配或者筛选是,通常需要把[0]、.等元字符做转义,本文将介绍一种经典做法。注意:在作为Pattern的行读入之后,要首先去掉换行符,使用chomp()函数,否则会匹配不上。
No. | 元字符 | 含义 |
1 | \l | 下个字符小写 |
2 | \L | 接着的字符均小写直到\E |
3 | \u | 下个字符大写 |
4 | \U | 接着的字符均大写直到\E |
5 | \Q | 在non-word 字符前加上\,直到\E |
6 | \E | 结束\L,\E和\Q |
m/\Q$sizename\E/:表示元字符常量化, 即在$sizename里的元字符*.+?等前加上\。
$tempsize =~ m/^\Q$sizename\E$/