正则表达式学习笔记
来源:互联网 发布:产品经理数据敏锐度 编辑:程序博客网 时间:2024/06/06 00:19
正则表达式简介
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
正则表达式中的各种字符
·普通字符
普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。
·非打印字符
【\cx】——匹配由x指明的控制字符;
【\f】——匹配一个换页符。等价于\x0c和\cL;
【\n】——匹配一个换行符。等价于\x0a和\cJ;
【\r】——匹配一个回车符。等价于\x0d和\cM;
【\s】——匹配任何空白字符,摆阔空格、制表符、换页符等。等价于[\f\n\r\t\v];
【\S】——匹配任何非空白字符。等价于[^ \f\n\r\t\v];
【\t】——匹配一个制表符。等价于[\09]和[\cl];
【\v】——匹配一个垂直制表符。等价于\x0b和\cK。
·特殊字符
【$】——匹配输入字符串的结尾位置;
【()】——标记一个子表达式的开始和结束位置;
【*】——匹配前面的子表达式零次或者多次;
【+】——匹配前面的子表达式一次或者多次;
【.】——匹配除换行符\n之外的任何单字符。
【[】——标记一个中括号表达式的开始;
【?】——匹配前面的子表达式零次或者一次,或指明一个非贪婪限定符;
【\】——将下一个字符标记为或特殊字符、或原意字符,或向后引用、或八进制转义符;
【^】——匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合;
【{】——标记限定符表达式的开始;
【|】——指明两项之间的一个选择。
·限定字符
【*】——匹配前面的子表达式零次或者多次;
【+】——匹配前面的子表达式一次或者多次;
【?】——匹配前面的子表达式零次或者一次;
【{n}】——n是一个非负整数,匹配确定的n次;
【{n,}】——n是一个非负整数,至少匹配n次;
【{n,m}】——m和n均为非负整数,其中n<=m,最少匹配n次且最多匹配m次。
注意:【*】、【+】和【?】都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们后面加上一个【?】就可以实现非贪婪或者最小匹配。
·定位符
【^】——匹配输入字符串开始的位置;
【$】——匹配输入字符串结尾的位置;
【\b】——匹配一个字边界,即字与空格间的位置;
【\B】——非字边界匹配。
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 学习正则表达式笔记
- 正则表达式学习笔记
- 学习正则表达式笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 烂苹果定律、彼得定律 一些简单却容易忽视的定律
- Andrew Ng cs229 notes 记录博客资源
- 当总统
- hdu-2147-kiki's game-博弈论-java
- BZOJ 2818 Gcd (数论 欧拉)
- 正则表达式学习笔记
- SSD的配置安装与测试——cpu版本修改ssd_pascal.py文件
- 目标跟踪 benchmark用法 添加、测试自己的代码
- 15位身份证号转换为18位身份证号
- MFC CListBox设置CTRL和SHIFT多选
- 汇编语言: 编写一个程序,从键盘输入一个不长于8位的四进制数,并将所输入的数以10进制数 形式显示出来。
- 欢迎使用CSDN-markdown编辑器
- Android实现计时与倒计时的几种方法
- 排序总结