现在的位置: 首页 > 综合 > 正文

【原创】Perl 正则表达式基础整理

2012年11月21日 ⁄ 综合 ⁄ 共 647字 ⁄ 字号 评论关闭

. 任何单字符的通配符(\n除外)
* 匹配前面的内容零次或多次。
+ 匹配前面的内容一次或多次。
?匹配前面的内容零次或一次。
  非贪婪符号。
() 模式分组
\1 反向(重复)引用圆括号中匹配的文字。
| 或(择一匹配)
[] 字符集。Eg: [a-zA-Z], [abcxyz]
^ 脱字符 表示这些字符除外。只在字符集中使用。
\d 数字
\w 单词字符 (数字,字母和下划线) [a-zA-Z0-9_]
\s 空白字符 (相当于[\f\t\n\r])
\D 非数字
\W 非单词
\S 非空白
{} 字符出现次数。Eg: /a{5,15}/ 出现5到15次的字母a。/(fred){3,}/ 重复次数3次以上
+? 非贪婪的+
*? 非贪婪的*
.? 非贪婪的.
--------------------------------
\b 单词边界锚位,是单词(\w)的匹配符。\B 非单词边界锚位。
^ 匹配字符开头的字符 | ^锚位用来标示字符串的开头
$ 匹配字符结尾的字符 | $锚位用来标识字符串的结尾(包含换行符)
--------------------------------
/i 大小写无关
/s 任意字符(与.一起使用,指.可以代表\n)
/x 加入空白(空格和制表符被略掉)
/g 全局替换(替换所有的匹配)
/m 多行匹配(可以匹配换行符\n)
Eg: /Barney.*fred/s
    / -? \d+ \.? \d* /x
    /barney.*fred/is 同时使用/i 和 /s   
--------------------------------
\U 转换为大写
\L 转换为小写
\u和\l 只会转换第一个字符

 

 

【上篇】
【下篇】

抱歉!评论已关闭.