正则
来源:互联网 发布:网络出版之我见 编辑:程序博客网 时间:2024/06/03 15:49
字符转义
如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\.
例如:deerchao\.net匹配deerchao.net,C:\\Windows匹配C:\Windows。
需要转义的字符: ( ) . * ? \ +
规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。
- 分组0对应整个正则表达式
- 实际上组号分配过程是要从左向右扫描两遍的:第一遍只给未命名组分配,第二遍只给命名组分配--因此所有命名组的组号都大于未命名的组号
- 你可以使用(?:exp)这样的语法来剥夺一个分组对组号分配的参与权
有哪些标识可以使用?
- re.I(re.IGNORECASE): 忽略大小写(括号内是完整写法,下同)
- re.M(re.MULTILINE): 多行模式,改变'^'和'$'的行为(参见上图),按行匹配,
- re.S(re.DOTALL): 点任意匹配模式,改变'.'的行为,设置后可以匹配\n,可以匹配到换行符
- re.L(re.LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定
- re.U(re.UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性
- re.X(re.VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。
- re.compile(pat, string, flag=0)
- re.findall(pat, string, flag=0)
- re.match(pat, string, flag=0)
- re.search(pat, string, flag=0)
-------------------------------------------------------------------------------
re 函数(推荐用regex 修复了re的bug,函数使用都一样):
group():用来提出分组截获的字符串,()用来分组。
group(0),返回匹配的整体
group(1),返回正则表达式中第一个括号(即第一组)内所匹配的部分
...
group(n,m),返回组号为n到m所匹配的字符串,如果组号不存在,则返回indexError异常
gourps():返回所有括号匹配的字符,以tuple格式返回。
m.groups() == (m.group(0), m.group(1), ...)
match(pat, string, flag=0) :只从字符串开始的位置开始匹配,只报告一次成功的匹配,如果不是从开始位置匹配,match()将不报告它。
search(pat, string, flag=0): 将扫描整个字符串,但是只报告它找到的第一个匹配
findall(pat, string, flag=0):将扫描正哥字符串,报告它所匹配的所有字符串,并将它们作为一个列表返回
finditer(pat, string, flag=0):将扫描正哥字符串,报告它所匹配的所有字符串,并将它们作为一个迭代器返回
re.sub(replacement,string[count =0 ]): 替换所有的匹配项,返回一个替换后的字符串,如果匹配失败,返回原字符串
参考文章:http://www.jb51.net/tools/zhengze.html#mission
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- Codeforces Round #417 (Div. 2) C. Sagheer and Nubian Market 二分基础入门裸题
- R语言线性回归诊断
- ubuntu16.04为google chrome安装adobe-flashplugin
- 《AngularJS》——scope的三种绑定策略
- PHP变量在内核中的实现
- 正则
- jQuery Mobile 列表内容
- 启动docker是启动失败报error virtbox错误
- linux 切换用户之后变成-bash-3.2$
- HTTP Status 405
- Dom4j解析XML来读取数据库配置文件信息
- 第一个Applet小程序
- Android Studio创建Xposed模块项目时BridgeApi的正确添加方式
- String字符串