正则表达式 Regular Expression-程序员宅基地

技术标签: python  正则表达式  

一、python中的正则表达式

1、匹配特定字符

  • .:匹配任何字符(除了换行符)
  • ^:匹配输入字符串的开始
  • $:匹配输入字符串的结束
  • \d:匹配任何数字,等同于[0-9]
  • \D:匹配任何非数字字符
  • \s:匹配任何空白字符
  • \S:匹配任何非空白字符
  • \w:匹配任何字母或数字或下划线,等同于[a-zA-Z0-9_]
  • \W:匹配任何非字母、非数字和非下划线的字符

2、重复字符

  • *:匹配前面的子表达式零次或多次
  • +:匹配前面的子表达式一次或多次
  • ?:匹配前面的子表达式零次或一次
  • {n}:n是一个非负整数。匹配确定的n次
  • {n,}:n是一个非负整数。至少匹配n次
  • {n,m}:m和n均为非负整数。最少匹配n次且最多匹配m次

3、选择、分组和引用

  • |:表示或者,比如a|b匹配‘a’或‘b’。
  • ():将几个项组合为一个单元
  • \:转义特殊字符,例如\()表示匹配真实的“(”字符,而不是作为分组符
  • \num:引用分组num匹配到的字符串
  • (?P<name>):分组起别名
  • (?P=name):引用别名为name分组匹配到的字符串

4、预定义模式

  • \d+或\D+:匹配一个或多个数字或非数字字符。
  • \s+或\S+:匹配一个或多个空白或非空白字符。

5、边界条件

  • ^:在方括号外面表示否定,也可以表示字符串的开始。在方括号内表示非负整数。
  • $:表示字符串的结束
  • \b:匹配一个单词的边界
  • \B:匹配非单词边界

6、贪婪与非贪婪匹配

默认情况下,正则表达式是贪婪的,即它们尽可能多地匹配(只要还能符合其他要求)。可以使用?来使正则表达式变为非贪婪的(尽可能少的匹配)。

二、re正则表达式

1、引入正则模块

import re#引入正则表达式

2、主要使用的方法match(),从左到右进行匹配

result = re.match(pattern, str)
#pattern为要校验的规则
#str为要进行校验的字符串

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41696609/article/details/137915040

智能推荐

基于PHP美食食谱的外文翻译,中国传统菜谱的英文翻译锦集-程序员宅基地

文章浏览阅读167次。中国传统菜谱的英文翻译锦集第1部分、素菜类Vegetarian1.豪油冬菇Oyster Sauce Mushroom2.什笙上素Bamboo Vegetable3.红烧豆腐Fried Tofu4.炒素丁Vegetable Roll5.罗汉腐皮卷Vegetable Egg Roll6.素咕噜肉Vegetarian Sweet and Sour7.蒸山水豆腐Steam Tofu8.鲜菇扒菜胆Mushr..._基于php的家常菜谱教程网站的设计与实现 英文翻译

(jarvisOJ)(pwn)level6_x86_javious level6x86-程序员宅基地

文章浏览阅读418次。Unlink!Unlink!Unlink!level6_x86作为一道堆溢出入门题,还是值得用来练练手,学习一下堆的基础的知识的。参考文献:ctf-wiki:https://ctf-wiki.github.io/ctf-wiki/pwn/linux/glibc-heap/unlink-zh/大佬博客:https://blog.csdn.net/weixin_41617275/article..._javious level6x86

数据科学与大数据技术与计算机科学与技术哪个好_数据科学与大数据技术和计算机科学与技术-程序员宅基地

文章浏览阅读4.5k次。这两门课,一个是大数据,一个是人工智能 都是现在炙手可热的学科。相对而言,大数据适用性更广一些。人工智能专业,毕业后不是大批用人单位都会有AI研发需求的。智能科学与技术专业和数据科学与大数据技术专业。智能科学与技术专业:科技永远是第一生产力社会在不断进步,科技也在不断发展现在更新换代的速度实在是太快了,但是科学技术是永远不会过时的。智能科学与技术专业,是面向高新技术产业的基础性本科专业知识覆盖面比较广。这个专业会涉及到机器人技术,新一代网络计算为基础的智能系统微机电系统等,对国民经济,工业生产以及日常生活都_数据科学与大数据技术和计算机科学与技术

Unity SRP URP HDRP 的区别_3dhdrp 3durp-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏10次。https://blog.csdn.net/weixin_41622043/article/details/107623694_3dhdrp 3durp

vim 选中文本-程序员宅基地

文章浏览阅读2.1k次。y复制文本,d删除文本,p粘贴文本。移动命令(如:gg、G)h,j,k,l或方向键。d或y等命令删除或复制。_vim 选中

HashSet 与TreeSet和LinkedHashSet的区别-程序员宅基地

文章浏览阅读190次。今天项目开发,需要通过两个条件去查询数据库数据,同时只要满足一个条件就可以取出这个对象。所以通过取出的数据肯定会有重复,所以要去掉重复项。如果用list集合接收两次的返回对象,那么肯定是有重复对象在list集合中,一开始我想到的是TreeSet,但知道TreeSet存放对象,一定要重写compareto方法,进行排序规则。而我仅仅是去重,并不需要排序。 所以我就用了HashSet,下面也就..._比较 hashset、linkedhashset 和 treeset 三者的异同

随便推点

【Unity】基于GUI的简易场景切换器_unity切换display-程序员宅基地

文章浏览阅读1k次。在编辑器或者发行版游戏中,如果我们想切换一个场景,需要设置触发器或者手动设置按钮来调用SceneManagement中的函数。而这个脚本挂载到场景时按下按键就可以在屏幕上方或者下方展示所有Build Setting中的场景,按下按键就可以加载对应场景。将脚本挂载到任意物体上,也可以制作成预制体。在编辑器中运行游戏,按下键盘上~键(即上方数字1左边的按键)就可以调出所有场景,再按一下关闭,点击场景按钮切换到指定场景。Button Width:调整按钮宽度,若开启自适应按钮宽度,该项不造成影响,默认100。_unity切换display

简单使用Git和Github来管理自己的代码和读书笔记-程序员宅基地

文章浏览阅读50次。以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下来继续使用。我这里简单的记录一下我使用的过程,最简单的使用都是,高级的功能我一直没有使用到,虽然买一本《Git权威指南》但是很多东西用不到就不能够真的会。下面开始简单介绍我使用的方法,我这个...

tf.losses.mean_squared_error函数浅析-程序员宅基地

文章浏览阅读9.6k次,点赞4次,收藏13次。jjjsjs_tf.losses.mean_squared_error

拓扑与代数几何:拓扑学在代数几何中的应用-程序员宅基地

文章浏览阅读21次。1. 背景介绍拓扑学是数学中的一个分支,研究的是空间的性质和变形。而代数几何则是将代数方法应用于几何学中,研究的是代数对象和几何对象之间的关系。这两个领域看似毫不相关,但实际上它们之间有着紧密的联系。在代数几何中,我们经常需要研究代数对象的性质,比如说代数曲线、代数簇等等。而这些代数对象通常都可以看作是某个拓扑空间的子集。因此,拓扑

【Linux系统IO函数】read、write函数及实现文件拷贝_read函数实现-程序员宅基地

文章浏览阅读5.7k次,点赞8次,收藏75次。Linux系统—read、write函数ssize_t read(int fd, void *buf, size_t count);//将文件中的数据读入内存ssize_t write(int fd, const void *buf, size_t count);//把内存中的数据写入到文件里实现文件拷贝:1.1 read函数输入以下命令查看函数帮助文档:man 2 read/write#include <unistd.h>ssize_t read(int fd, v_read函数实现

android 微信小程序 gps 飘,微信小程序实现自动定位功能-程序员宅基地

文章浏览阅读551次。本文实例为大家分享了微信小程序实现自动定位的具体代码,供大家参考,具体内容如下使用了腾讯地图提供的免费api:需要引入一个js文件:下载地址js代码:// 引入SDK核心类var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');var qqmap = new QQMapWX({//在腾讯地图开放平台申请密钥 http://lbs.qq.com/m..._安卓小程序实时定位功能

推荐文章

热门文章

相关标签