Python正则表达式(1) --匹配单个字符

  • re模块操作

    •  在python 中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re,使用方法如下:

      # 导入re模块
          import re
      
          # 使用match方法进行匹配操作
          result = re.match(正则表达式,要匹配的字符串)
      
          # 如果上一步匹配到数据的话,可以使用group方法来提取数据
          result.group()
    • re模块示例(匹配以abc开头的语句)
      •  

        import re
        
        result = re.match("abc","abc.cn")
        print(result.group())
        
        #输出结果abc

  说明:re.match()能匹配出以xxx开头的字符串

  • 匹配单个字符

    •   

      字符 功能
      . 匹配任意1个字符(除了\n)
      [] 匹配[]中列举的字符
      \d 匹配数字,即0-9
      \D 匹配非数字,即不是数字
      \s 匹配空白,即空格
      \S 匹配非空白
      \w 匹配单词字符,即a-z、A-Z、0-9、_
      \W 匹配非单词字符
  • 示例1(.)

    • import re
      
      ret = re.match(".", "M")
      print(ret.group())
      
      ret = re.match("t.o", "too")
      print(ret.group())
      
      ret = re.match("t.o", "two")
      print(ret.group())
      
      #运行结果
      
      M
      too
      two

    示例2([ ])

    • import re
      #如果hello的首字符小写,那么正则表达式需要小写的h
      ret = re.match("h","hello python")
      print(ret.group())
      
      #如果hello的首字符大写,那么正则表达式需要大写的H
      ret = re.match("H","Hello Python")
      print(ret.group())
      
      #大小写h都可以的情况
      ret = re.match("[hH]","hello Python")
      print(ret.group())
      
      ret = re.match("[hH]","Hello Python")
      print(ret.group())
      
      ret = re.match("[hH]ello Python","Hello Python")
      print(ret.group())
      
      #匹配0到9第一种写法
      ret = re.match("[0123456789]Hello Python","6Hello Python")
      print(ret.group())
      
      #匹配0到9第二种写法
      ret = re.match("[0-9]Hello Python","6Hello Python")
      print(ret.group())
      
      ret = re.match("[0-35-9]Hello Python","6Hello Python")
      print(ret.group()
      #运行结果
      
      h
      H
      h
      H
      Hello Python
      6Hello Python
      6Hello Python
      6Hello Python

    示例3(\d)  

    • import re
      #普通的匹配方式
      ret = re.match("嫦娥1号","嫦娥1号发射成功")
      print(ret.group())
      
      #使用\d进行匹配
      ret = re.match("嫦娥\d号","嫦娥3号发射成功")
      print(ret.group())
      
      #运行结果
      嫦娥1号
      嫦娥3号

原文地址:https://www.cnblogs.com/u-damowang1/p/12620970.html

时间: 2024-10-21 15:17:36

Python正则表达式(1) --匹配单个字符的相关文章

正则表达式中匹配单个字符

匹配单个字符. 匹配任意一个字符(除了\n)[] 匹配[]中列举的字符\d 匹配数字 0-9\D 匹配非数字\s 匹配空白,即空格\S 匹配非空白\w 匹配单词字符\W 匹配非单词字符 原文地址:https://www.cnblogs.com/liuxjie/p/12003232.html

【正则表达式】——02单个字符匹配

[前言]本节主要讲述匹配单个字符 1. 匹配纯文本 区分大小写 匹配纯文本和搜索功能一致 2. 匹配任意字符——“.” .匹配除了换行符以外的任意字符 注意: [元字符]特殊符号和字符,即所谓的元字符,给予了正则表达式强大的功能和灵活性, 正则表达式是由字符组成的字符串,这些字符可以是文本字符(真正的文本),也可以是元字符(含有特殊含义的字符) 原文地址:https://www.cnblogs.com/testxiaobai/p/10762173.html

3.2.2.1 匹配单个字符

最先开始是匹配单个字符.可采用集中方式做到:以一般字符.以转义的 meta 字符.以 . meta 字符,或是用方括号表达式: 一般字符指的是未列于 POSIX BRE 于 ERE 的 meta 字符,包括所有文字和数字字符.绝大多是的空白字符以及标点符号字符.因此,正则表达式 a ,匹配于字符 a .我们可以说,一般字符所表示的就是它们自己,且这种用法是最直接且易于理解的.所以,shell 匹配 shell. 若 meta 字符不能表示它们自己,那当我们需要让 meta 字符表示它们自己的时候

vscode如何配置debug,python正则表达式如何匹配括号,关于python如何导入自定义模块

关于vscode如何配置debug的问题: 1.下载安装好python,并且配置好 环境变量 2.https://www.cnblogs.com/asce/p/11600904.html 3.严格按照上面进行操作的话,用vscode直接打开  文件夹即可 (.vscode文件中的launch.json文件其实就是指导软件在debug时如何做,可以自己生成,不用自定义设置) python正则表达式如何匹配括号,中括号一类的问题: 给括号加上[ ] 例如:abc(123)def  要匹配括号中的数字

python正则表达式同时匹配多个关键字(多关键字匹配)

网上翻了很多文章...居然没有一个有用的..倒是找到一篇java的,但java的正则表达式和python的还有点不同. 那篇java的文章是用"[keywd1]|[keywod2]|[keywd3]"的模式来匹配,这个在py中就不行了,[]会匹配[]中的任何一个分字. 在python中的应该是"keywd1|keywd2|keywd3"就行了. 然后我个人是喜欢直接使用re.findall()   这样一个参数是要匹配的字符模式,另一个就是要匹配的文本.比较方便,可

第二章:匹配单个字符

2.1 匹配纯文本 文本: hello, my name is Ben. Please visit my website at http://www.forta.com/. 正则表达式: Ben 结果: hello, my name is Ben. Please visit my website at http://www.forta.com/. 再看一个例子: 文本: hello, my name is Ben. Please visit my website at http://www.fo

匹配单个字符

在上一小节中,了解到通过re模块能够完成使用正则表达式来匹配字符串 本小节,将要讲解正则表达式的单字符匹配 字符 功能 . 匹配任意1个字符(除了\n) [ ] 匹配[ ]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字,即不是数字 \s 匹配空白,即 空格,tab键 \S 匹配非空白 \w 匹配单词字符,即a-z.A-Z.0-9._ \W 匹配非单词字符 示例1: . #coding=utf-8 import re ret = re.match(".","M&quo

JPQL模糊匹配单个字符

JPQL模糊匹配,不是%,而是单个字符,该怎么办?比如我要查出数据库中满足后三位是数字的字符串 对于mysql来说,使用通配符 %和_可以轻松解决,但是对于JPQL来说模糊查询就伤脑筋了... 有一个方法,可以使用like查询出来以后,再在java代码里进行过滤.虽然很笨,但也有效

正则表达式:匹配单个数字重复n次

匹配单个数字重复n次:(\d)\1{n-1}其中,\d表示一位数字,(\d)表示匹配之后捕获该匹配,并分组并对组进行编号\1表示被捕获的第一个分组{n-1}是因为被捕获的第一个分组已经消耗了一位数字,因此要减1. 注意:用python写的时候,模式字符串引号前面一定要加r, 即应该写成: re.findall(r'(\d)\1{3}','11112222')而不是 re.findall('(\d)\1{3}','11112222'),否则会匹配不到任何结果. 原文地址:https://www.c