zoukankan      html  css  js  c++  java
  • 正则表达式

    正则表达式

    • .(点号):表示任意一个字符,除了 ,比如查找所有的一个字符 .
    • []:匹配中括号中列举的任意字符,比如[L,Y,0], LLY, Y0, LIU
    • d:任意一个数字
    • D:除了数字都可以
    • s:表示空格,tab键
    • S:除了空白符号
    • w:单词字符,就是a-z,A-Z,0-9
    • W:除了单词符号
    • *:表示前面内容重复零次或者多次
    • +:表示前面内容至少出现一次
    • ?:前面内容出现零次或者一次
    • {m,n}:允许前面内容出现最少m次,最多n次
    • ^:匹配字符串的开始
    • $:匹配字符串的结尾
    • :匹配单词的边界
    • ():对正则表达式内容进行分组,从第一个括号开始,编号逐渐增大
    • A:值匹配字符串开头,Aabcd,则abcd
    • :仅匹配字符串末尾,abcd,abcd
    • |:左右任意一个
    • (?P...):分组,除了原来的标号再指定一个别名,(?P12345){2}
    • (?P=name):引用分组

    正则常用方法:

    - match:从开始位置开始查找,一次匹配
    - search:从任何位置查找,一次匹配
    - findall:全部匹配,返回列表
    - finditer:全部匹配,返回迭代器
    - split:分割字符串,返回列表
    - sub:替换
    
    • search
    
    import re
    
    s = r'd+'
    
    pattern = re.compile(s)
    
    w = "ond311dadf23dsaa4324"
    m = pattern.search(w)
    print(m.group())
    
    m = m = pattern.search(w, 10, 40)
    print(m.group())
    
    • findall,finditer
    
    import re
    
    s = r'd+'
    
    pattern = re.compile(s)
    
    w = "ond311dadf23dsaa4324"
    m = pattern.findall(w)
    print(m)
    
    m = pattern.finditer(w)
    for i in m:
    	print(i.group())
    
    • 匹配中文
      • 中文unicode范围主要在[u4e00-u9fa5]
    # coding=gbk
    import re
    
    s = r'[u4e00-u9fa5]+'
    
    pattern = re.compile(s)
    
    w = '我是大 天才'
    m = pattern.findall(w)
    print(m)
    
    m = pattern.finditer(w)
    for i in m:
    	print(i.group())
    
    • 修饰符
    修饰符 描述
    re.I 使匹配对大小写不敏感
    re.L 做本地化识别(locale-aware)匹配
    re.M 多行匹配,影响 ^ 和 $
    re.S 使 . 匹配包括换行在内的所有字符
    re.U 根据Unicode字符集解析字符。这个标志影响 w, W, , B.
    re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。
  • 相关阅读:
    C语言打印记事本内搜索字符串所在行信息
    原创:C语言打开、下载、删除网页,统计网页字符个数
    JAVA GUI编程学习笔记目录
    13.JAVA之GUI编程将程序打包jar
    12.JAVA之GUI编程打开与保存文件
    11.JAVA之GUI编程菜单
    10.JAVA之GUI编程弹出对话框Dialog
    php中的一些不常见的问题foreach/in_array[开发篇]
    微软职位内部推荐-Senior SDE
    微软职位内部推荐-SDE II
  • 原文地址:https://www.cnblogs.com/rener0424/p/10913930.html
Copyright © 2011-2022 走看看