python正则表达式-正则基础

这篇具有很好参考价值的文章主要介绍了python正则表达式-正则基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、任一元素

二、匹配特定的字符类别

         1、\d  \w

三、多个元素

         1、两位元素 [][]

         2、* + ?

         3、重复次数 {}

         4、位置匹配 ^ $

         5、子表达式()


 一、任一元素

        []:1、[ab] 匹配a或b;

       2、[0-9] 匹配任意一个数字;[a-z] 匹配任何一位小写字母;[A-Z] 匹配任何一位大写字母;

       3、[a-zA-Z] 匹配任意一位大小写字母;

       4、. 匹配任意一个字符;^:取反

import re
answer_zimu='aiIJ2db33c4AI'
print('字母:',re.findall('[a-z]',answer_zimu))

answer_shuzi='aiIJ2db33c4AI'
print('数字:',re.findall('[0-9]',answer_shuzi))

answer_str='aiIJ2db33c4AI'
print('大小写:',re.findall('[a-zA-Z]',answer_str))

str1=['sales1.xls','sales2.xls','spac1.xls']
answer_str1=map(lambda x:re.findall('sales.\.xls',x),str1)  #'sales.\.xls'  \转义字符
print('.输出:',list(answer_str1))

str2=['sales1.xls','sales2.xls','salesn.xls']
answer_str2=map(lambda x:re.findall('sales[^0-9]\.xls',x),str2)  #'sales[^0-9]\.xls'  \转义字符
print('取反:',list(answer_str2))

字母: ['a', 'i', 'd', 'b', 'c']
数字: ['2', '3', '3', '4']
大小写: ['a', 'i', 'I', 'J', 'd', 'b', 'c', 'A', 'I']
.输出: [['sales1.xls'], ['sales2.xls'], []]
取反: [[], [], ['salesn.xls']]

二、匹配特定的字符类别

  1、\d  \w

     1、\d 任意一个数字[0-9];\D 任意一个非数字[^0-9];\w 任意一个数字字母下划线[a-zA-Z0-9_];

     2、 \W 任意一个非字数字字母下划线;\s 匹配任意一个空白字符[\f\n\r\t\v];\S 匹配任意一个非空白字符[^\f\n\r\t\v]

import re
str=['12839','A1HY98','9okjcds','siU_U','siU U']
answer_str=map(lambda x:re.findall('\d\d\d\d\d',x),str)
print('数字:',list(answer_str))

answer_str=map(lambda x:re.findall('\w\w\w\w\w\w\w',x),str)
print('六位元素:',list(answer_str))

answer_str=map(lambda x:re.findall('\w\w\w\s\w',x),str)
print('空白字符:',list(answer_str))

数字: [['12839'], [], [], [], []]
六位元素: [[], [], ['9okjcds'], [], []]
空白字符: [[], [], [], [], ['siU U']]

三、多个元素

  1、两位元素 [][]

        [][]:[a-z][0-9] 匹配a、b和c和任意一位数字

import re
str='asc99d71'
print(re.findall('[a-z][0-9]',str))
['c9', 'd7']

   2、* + ?

        * 零个或多个字符;+ 一个或多个字符;? 零个或一个字符           

com=['http://www.ben@forta.com','httpps://www.ben@forta.com','http://www.forta@forta.com']
answer_com1=map(lambda x:re.findall('http[\w]+://[\w.]+@[\w.]+',x),com)
print('+ 输出:',list(answer_com1))

answer_com2=map(lambda x:re.findall('http[\w]*://[\w.]+@[\w.]+',x),com)
print('* 输出:',list(answer_com2))

answer_com3=map(lambda x:re.findall('http[\w]?://[\w.]+@[\w.]+',x),com)
print('? 输出:',list(answer_com3))

+ 输出: [[], ['httpps://www.ben@forta.com'], []]
* 输出: [['http://www.ben@forta.com'], ['httpps://www.ben@forta.com'], ['http://www.forta@forta.com']]
? 输出: [['http://www.ben@forta.com'], [], ['http://www.forta@forta.com']]

  3、重复次数 {}

number=['12345678910','10-6-204','1000-344-0009']
answer_num1=map(lambda x:re.findall('\d{11}',x),number)
print('11位手机号:',list(answer_num1))

answer_num2=map(lambda x:re.findall('\d{0,4}-\d{1}-\d{0,4}',x),number)
print('固定范围:',list(answer_num2))

answer_num3=map(lambda x:re.findall('\d{0,4}-\d{1,}-\d{0,4}',x),number)
print('至少满足:',list(answer_num3)) 

11位手机号: [['12345678910'], [], []]
固定范围: [[], ['10-6-204'], []]
至少满足: [[], ['10-6-204'], ['1000-344-0009']]

   4、位置匹配 ^ $

      ^限制开头   $限制结尾

weizhi=['12345678910','12345678910and','34455667778']
answer_wenzi1=map(lambda x:re.findall('^1\d{10}',x),weizhi)
print('^限制开头:',list(answer_wenzi1))

answer_wenzi2=map(lambda x:re.findall('^1\d{10}$',x),weizhi)
print('^ $限制开头结尾:',list(answer_wenzi2))

answer_wenzi3=map(lambda x:re.findall('\w+[a-z]$',x),weizhi)
print('$限制结尾:',list(answer_wenzi3))

^限制开头: [['12345678910'], ['12345678910'], []]
^ $限制结尾: [['12345678910'], [], []]
^ $限制结尾: [[], ['12345678910and'], []]

 5、子表达式()

       当作一个独立元素来使用,()文章来源地址https://www.toymoban.com/news/detail-449877.html

str='<b>123</b><b>加粗字体</b><b>斜体</b>'
print('子表达式:',re.findall('<b>(.*?)</b>',str))  #去除两边的模式

子表达式: ['123', '加粗字体', '斜体']

到了这里,关于python正则表达式-正则基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Python零基础入门(六)——超详细的字符串与正则表达式

    Python零基础入门(六)——超详细的字符串与正则表达式

    个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟 码字不易,如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!😊😊😊 欢迎来到本系列教程的第六篇,之前的文章已经介

    2024年02月13日
    浏览(15)
  • 《零基础入门学习Python》第060讲:论一只爬虫的自我修养8:正则表达式4

    《零基础入门学习Python》第060讲:论一只爬虫的自我修养8:正则表达式4

    有了前面几节课的准备,我们这一次终于可以真刀真枪的干一场大的了,但是呢,在进行实战之前,我们还要讲讲正则表达式的实用方法和扩展语法,然后再来实战,大家多把持一会啊。 我们先来翻一下文档: 首先,我们要举的例子是讲得最多的 search() 方法,search() 方法

    2024年02月15日
    浏览(14)
  • js 正则表达式 限制input元素内容必须以abc开头,123结尾

    要通过正则表达式验证一个输入元素的内容是否以\\\"abc\\\"开头且以\\\"123\\\"结尾,您可以使用 ^ 表示开头, $ 表示结尾,以及适当的字符类或具体字符。以下是一个示例正则表达式: 上面的正则表达式将匹配以\\\"abc\\\"开头,以\\\"123\\\"结尾的任何字符串,其中 .* 表示匹配零个或多个任意字符

    2024年02月13日
    浏览(15)
  • 正则表达式 基础

    Tips: 字符串方法match()返回根据正则表达式匹配到的结果 ^ 以...开头 $ 以...结尾 + 号,匹配前面的字符1 ~ n次 * 号,匹配前面的字符0 ~ n次 ? 号,匹配前面的字符0 ~ 1次 {n,} ,匹配前面的字符至少n次 {n,m} ,匹配前面的字符n ~ m次 [abc] 匹配[]中的所有字符 [^abc] 匹配除去[^]中的所

    2024年02月04日
    浏览(11)
  • 正则表达式基础

    正则表达式基础

    正则表达式指一个模式串,该模式串可匹配到所有满足该模式串指定规则的字符串; 模式串本身不含有特殊字符,搜索包含模式串的所有字符串; 特殊字符 含义 ^ 匹配一行的开头,如^a表示匹配所有以a开头的字符串 $ 匹配一行的结尾,如a$表示匹配所有以a结尾的字符串 . 匹

    2024年02月05日
    浏览(8)
  • 安全基础 --- 正则表达式

    正则表达式(Regular Expression),简称为 正则 或 Regex ,是一个用来描述、匹配和操作字符串的工具。 限定字符 多用于重复匹配次数 常用限定字符: 语法 说明 ? 上一项是可选的,最多匹配一次。 * 前一项将被匹配零次或多次。 + 前一项将被匹配一次或多次。 {N} 上一项完全匹

    2024年02月15日
    浏览(29)
  • Python正则表达式之学习正则表达式三步曲

            正则表达式描述了一种字符串匹配的模式,可以用来检查一个串的有无某子串,或者做子串匹配替换,取出子串等操作。也可以说正则表达式就是字符串的匹配规则,也可以理解为是一种模糊匹配,匹配满足正则条件的字符串。         1、数据验证(eg:表单验

    2024年02月15日
    浏览(48)
  • JavaScript正则表达式基础

    JavaScript正则表达式基础

    创建正则表达式,一般有两种写法 .test(\\\'需要验证的字符\\\'),正则的方法用来验证正则的匹配结果true or false 修饰符 写法:/正则/ 修饰符 示例:/abc/i (匹配字符串abc并且不区分大小) i:执行对大小写不敏感的匹配(不区分字母的大小写) g:执行全局匹配(查找所有匹配而非在

    2024年02月09日
    浏览(14)
  • 老夫的正则表达式大成了,桀桀桀桀!!!【Python 正则表达式笔记】

    特殊字符 .^$?+*{}[]()| 为特殊字符,若想要使用字面值,必须使用 进行转义 字符类 [] [] 匹配包含在方括号中的任何字符。它也可以指定范围,例: [a-zA-Z0-9] 表示a到z,A到Z,0到9之间的任何一个字符 [u4e00-u9fa5] 匹配 Unicode 中文 [^x00-xff] 匹配双字节字符(包括中文) 在 [] 中

    2024年02月04日
    浏览(12)
  • 机器学习与数据科学-专题1 Python正则表达式-【正则表达式入门-1】

    机器学习与数据科学-专题1 Python正则表达式-【正则表达式入门-1】

    为了完成本关任务,你需要掌握: 在 Python 中使用正则表达式; 最基础正则表达式; 正则匹配函数。 在 Python 中使用正则表达式 正可谓人生苦短,我用 Python。Python 有个特点就是库非常多,自然拥有正则匹配这种常见的库,并且此库已经嵌入在 Python 标准库中,使用起来非常

    2024年01月22日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包