首页 > 其他分享 >正则表达式

正则表达式

时间:2023-07-25 10:07:31浏览次数:35  
标签:字符 匹配 正则表达式 hi Hi print

正则表达式是用来避免重复工作,处理有规律信息的一个有力工具

import re
text = "Hi, I am Shirley Hilton. I am his wife."
m = re.findall(r"hi", text)
if m:
    print (m)
else:
    print ('not match')
这是一个小实验,通过它来看,我们不难看出这是在通过某种方法寻找"Hi, I am Shirley Hilton. I am his wife."这段话中的"hi"通过这个我们发现会有两个结果,都是hi,分别来自于Shirly与his俩单词,由此我们看出,正则表达式是严格的,区分大小写的,Hi并不满足要求。
当然,不仅仅有这样的查找,也可以仅仅找部分的,比如只匹配“Hi”,在这段话中只想要计数一次,那么我们可以采用"\bHi\b"的查找对象,这样就能仅仅匹配单独的Hi啦。
“\b”在正则表达式中表示单词的开头或结尾,空格、标点、换行都算是单词的分割。而“\b”自身又不会匹配任何字符,它代表的只是一个位置。所以单词前后的空格标点之类不会出现在结果里。
然后[]符号的作用也很大,它的作用是表示满足括号中任一字符,例如我们想要Hi也想要hi,就可以[Hh]i

r

接下来继续解释这个小试验中的内容,在语句传参时的r的含义,为什么要加r?
r,是raw的意思,它表示对字符串不进行转义。例如:
>>> print ("\bhi")
hi
>>> print (r"\bhi")
\bhi

re

re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去匹配文本中的所有符合条件的字符串。返回结果是一个包含所有匹配的list。
特殊字符
这里介绍

.

除换行符以外的任意字符

\S

不是空白符的任意字符

*****

表示前面的字符可以重复任意多次(包括0次)

+

表示前面的字符可以重复任意多次(不包括0次)

{}

表示指定长度

[]

[]内任意字符

\w

**匹配字母或数字或下划线或汉字 **

\d

匹配数字

\s

匹配空白符

**^ **

匹配字符串的开始

$

匹配字符串的结束

?

重复零次或一次(懒惰匹配)

{n,}

重复n次或更多次

{n,m}

重复n到m次

很容易猜想到,如\s\S这样大小写的区分就是正反的区别,由此推出各个对应的相反,此外,[]内通过加就代表除此符号外任意字符

.*

贪婪匹配

*?

懒惰匹配

标签:字符,匹配,正则表达式,hi,Hi,print
From: https://blog.51cto.com/u_16201095/6842422

相关文章

  • 正则表达式之子表达式与分组替换
    参考地址一、正则表达式元字符字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,’n’匹配字符“n”。’\n’匹配一个换行符。序列'\\'匹配“\”而"\("则匹配“(“。^匹配输入字符串的开始位置。如......
  • java正则表达式判断是否字母开头
    Java正则表达式判断是否字母开头介绍正则表达式是一种用来描述和匹配字符串模式的工具。在Java中,我们可以使用正则表达式来进行字符串的匹配和搜索操作。本文将教会你如何使用Java正则表达式来判断一个字符串是否以字母开头。流程下面是实现“Java正则表达式判断是否字母开头”......
  • java正则表达式不包含
    如何在Java中使用正则表达式进行不包含匹配引言正则表达式是一种强大的文本匹配工具,它可以帮助我们在字符串中查找、替换或验证特定的模式。在Java中,我们可以使用java.util.regex包中的类来操作正则表达式。本文将教会你如何在Java中使用正则表达式进行不包含匹配。流程图以下......
  • java正则表达式包含数字字母
    实现"Java正则表达式包含数字字母"1.概览在本文中,我将教你如何使用Java正则表达式来判断一个字符串是否包含数字和字母。我们将按照以下步骤进行操作:创建一个正则表达式模式,用于匹配包含数字和字母的字符串。创建一个Pattern对象,用于编译正则表达式。创建一个Matcher对象,用......
  • java正则表达式 不以数字开头输出
    Java正则表达式:不以数字开头输出介绍正则表达式是一种强大的模式匹配工具,可以用来在文本中查找、替换、拆分等操作。在Java中,可以使用java.util.regex包中的类来操作正则表达式。本文将介绍如何使用正则表达式来判断一个字符串是否不以数字开头,并提供代码示例。正则表达式语法......
  • python3正则表达式分组替换
    Python3正则表达式分组替换在Python中,使用正则表达式进行字符串处理是一项非常强大和灵活的技术。正则表达式可以用来匹配、查找和替换字符串中的模式。其中,分组替换是一种常用的技术,它允许我们将正则表达式的匹配结果以分组的形式进行替换。本文将介绍如何在Python3中使用正则表......
  • SAS - 正则表达式
    SAS-正则表达式正则表达式(RegularExpression)是一种文本模式,可用于文本的匹配、查找和替换。BaseSAS内置了正则表达式的实现,并提供了一系列PRX函数及CALL子程序,便于对文本进行更为灵活的处理。正则表达式的结构正则表达式由普通字符和元字符组成。元字符用于匹配符合特......
  • Python爬虫入门七之正则表达式
    在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式!1.了解正则表达式正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规......
  • java正则表达式在线测试工具
    Java正则表达式在线测试工具实现流程在实现"Java正则表达式在线测试工具"的过程中,我们可以采用以下步骤:步骤描述步骤1创建GUI窗口步骤2添加正则表达式输入框和测试字符串输入框步骤3添加测试按钮,用于触发正则表达式测试步骤4对测试结果进行展示我们将......
  • java正则表达式密码强度
    Java正则表达式密码强度的实现介绍在实际开发中,密码强度检查是非常重要的一项功能。通过使用正则表达式,可以方便地实现密码强度的校验。本文将向你介绍如何使用Java正则表达式来实现密码强度检查。流程下面是实现密码强度检查的整体流程:步骤描述1.创建正则表达式......