`
alanland
  • 浏览: 642569 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

python字符串解析,利用string模块和正则表达式re模块

阅读更多

1.python字符串通常有单引号('...')、双引号("...")、三引号("""...""")或('''...''')包围,三引号包含的字符串可由多行组成,一般可表示大段的叙述性字符串。在使用时基本没有差别,但双引号和三引号("""...""")中可以包含单引号,三引号('''...''')可以包含双引号,而不需要转义。
 
2. 用(\)对特殊字符转义,如(\)、(')、(")。
 
3.常用字符串内置函数
  1)str.count()  //返回该字符串中某个子串出现的次数
  2)str.find()   //返回某个子串出现在该字符串的起始位置
  3)str.lower()  //将该字符串全部转化为小写
  4)str.upper()  //转为大写
  5)str.split()  //分割字符串,返回字串串列表,默认以空格分割
  6)len(str)     //返回字符串长度
 
  例如:
  >>> str = 'Hello, world'
  >>> str.count('o')
  >>> 2
  >>> str.find('lo')
  >>> 3
  >>> str.lower()
  >>> 'hello, world'
  >>> str.upper()
  >>> 'HELLO, WORLD'
  >>> str.split()
  >>> ['Hello,', 'world']
  >>> str.split(',')
  >>> ['Hello', ' world']
  >>> len(str)
  >>> 13
  >>> str
  >>> 'Hello, world'
 
  以上所有操作都不会改变字符串本身!
 
4.正则表达式,re模块
  import re
  常用函数:
  1)compile():   //将正则表达式字符串编译成正则re对象
  2)search()     //在目标字符串中匹配正则表达式
  3)match()      //从目标字符串第一个字符开始匹配正则表达
  search和match匹配成功返回MatchObject对象,失败返回None
 >>> p = re.compile('abc')
 >>> p.search('zabcy')
 <_sre.SRE_Match object at 0x2a95659030>
 不先编译成正则re对象也是可以的,上例也可以为:
 >>> re.search('abc','xabcy')
 <_sre.SRE_Match object at 0x2a95659098>
 
 compile还可加些标志位,例如:re.I(re.IGNORECASE)忽略大小写
 >>> p = re.compile('abc')
 >>> print p.search('xAbCy')
 None
 >>> p = re.compile('abc',re.I)
 >>> print p.search('xAbCy')
 <_sre.SRE_Match object at 0x2a9565a098>
 
 
 search和 match区别见下例:
 >>> p = re.compile('abc')
 >>> print p.search('xxxabcyyy')
 <_sre.SRE_Match object at 0x2a95659030>
 >>> print p.match('xxxabcyyy')
 None
 >>> print p.match('abcyyy')
 <_sre.SRE_Match object at 0x2a95659098>
 
 
  4)split()      //类似字符串内置函数split()
   区别在于:内置split()以确定字符串分割,而正则split函数以正则表达式分割字
 

例如:以空格(1个或者多个空格)分割:

 >>> p.split('a b   c  d')
 ['a', 'b', 'c', 'd']

而内置split分割的结果为:

 >>> 'a b   c  d'.split(' ')
 ['a', 'b', '', '', 'c', '', 'd']
 
  5)findall()     //返回目标字符串中匹配正则表达式中所有子串列表
 

 >>> p = re.compile('^([a-z]{2}):([1-9]{3}):(.+)$')
 >>> p.findall('as:123:a12')
 [('as', '123', 'a12')]

 上例中正则表达式的子串为3个用括弧括起的,分别为:'[a-z]{2}'、'[1-9]{3}'、'.+', 分别被 as、123、a12匹配,注意此返回的是匹配字符串元组的一维列表。
  以上比较常用的正则函数,更多用法请参照python手册。
 
5.字符串与数字相互转换,string模块
  import string
  string.atoi(str[,base])  //base为可选参数,表示将字符转换成的进制类型
  数字转换成字符串可简单了,直接用str()
 
6. 字符与ASCII转换
  char->ascii  ord()
  ascii->char  chr()

 
分享到:
评论

相关推荐

    利用正则表达式巧妙解析度分秒格式字符串

    在编程领域,正则表达式是一种强大的文本处理工具,它能帮助我们进行复杂的字符串匹配、查找、替换和解析。在本话题中,我们将探讨如何利用C#中的正则表达式来巧妙地解析度分秒格式的字符串,将其转换为统一的度数...

    使用正则表达式拆分字符串

    在本教程中,我们将深入探讨如何使用正则表达式来拆分字符串,这对于数据处理和文本分析尤其有用。下面将详细阐述正则表达式的概念、语法以及如何在不同编程语言中实现字符串的拆分。 1. 正则表达式基础 - **模式...

    第11.25节 Python正则表达式编译re.compile及正则对象使用.rar

    1. **性能提升**:编译后的正则表达式对象可以多次重复使用,避免了每次都解析字符串的过程,提高运行速度。 2. **代码清晰**:将正则表达式模式与执行操作分开,使代码更易读、更易于维护。 3. **预处理错误检查**...

    python 正则表达式 re 学习.pdf

    在Python中,正则表达式主要通过内置的re模块来使用。正则表达式可以非常方便地进行文本搜索、替换和解析操作。 正则表达式由一些特殊字符以及普通字符构成。普通字符指的是没有特殊功能的字符,如字母和数字。特殊...

    2023年Python正则表达式re模块简明笔记.docx

    Python正则表达式re模块简明笔记 本文将对Python的re模块进行详细的介绍,包括正则表达式的概念、re模块的使用、Pattern对象的方法、Match对象的属性和方法等。 一、正则表达式的概念 正则表达式(regular ...

    清华大学精品Python学习PPT课件-第5章 Python正则表达式.pptx

    总的来说,掌握Python中的字符串处理和正则表达式是任何Python开发者必备的技能,无论是在数据处理、文本分析还是网络爬虫等领域都有广泛应用。通过清华大学的精品课程,学习者可以系统地学习并掌握这些重要的编程...

    Python程序员必会的正则表达式

    "Python程序员必会的正则表达式" ...正则表达式是一种非常强大的工具,Python 语言通过 re 模块提供了对正则表达式的支持,Python 程序员需要熟练掌握正则表达式的使用,以便更好地处理字符串操作。

    Python正则表达式操作指南%2B-%2BUbuntu中文.pdf

    - 在Python字符串中,反斜杠`\`具有特殊含义,用于转义字符。为了在正则表达式中正确地使用反斜杠,需要使用双反斜杠`\\`或使用原始字符串`r""`。 - **执行匹配**: - `match()`: 从字符串的开始位置尝试匹配正则...

    python 正则表达式 详解(英文)

    上述内容详细介绍了Python中re模块的使用方法,包括如何使用正则表达式来匹配字符串以及如何处理匹配结果。在实际应用中,通过合理利用这些功能,可以大大提高数据处理和字符串搜索的效率和灵活性。需要注意的是,在...

    Python正则表达式指南.pdf

    Python正则表达式是处理字符串的强有力工具,它拥有独立于Python语言本身的语法和独立的处理引擎。虽然正则表达式在处理字符串时效率上可能不及Python内建的字符串处理方法,但其功能强大且使用广泛。正则表达式的...

    字符串、字符和正则表达式

    在编程领域,字符串、字符和正则表达式是至关重要的概念,尤其是在使用C#这种语言时。本章将深入探讨这些主题,以便更好地理解和利用它们。 首先,字符串是编程中最常用的类型之一,尤其是在处理文本数据时。在C#中...

    Python正则表达式基础

    Python正则表达式是Python编程语言中的一个强大工具,用于处理和分析文本字符串。它允许开发者通过模式匹配来查找、替换或提取数据,广泛应用于数据清洗、文本挖掘、日志分析等领域。在Python中,正则表达式主要通过...

    Python-使用纯python类函数语法编写正则表达式并更好地进行测试

    在Python编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许我们通过模式匹配来查找、替换或提取字符串中的特定模式。在本主题中,我们将探讨如何使用纯Python类和函数语法来编写正则表达式...

    Python程序设计:正则表达式检索与替换.pptx

    1. 匹配(Match):通过`re.match()`或`re.search()`函数检查字符串是否符合正则表达式,返回True或False。 2. 获取(Extract):使用正则表达式从字符串中提取符合规则的部分,如`re.findall()`。 3. 替换(Replace...

    正则表达式.pdf

    3. match = pattern.match(string):将正则表达式应用于字符串。 4. print(match.group()):打印匹配结果。 常见的正则表达式模式: 1. ^匹配字符串的开头。 2. $匹配字符串的结尾。 3. .匹配任何单个字符。 4. ...

    Python正则表达式re模块简明笔记.docx

    ### Python正则表达式re模块知识点详解 #### 一、正则表达式概念与应用场景 正则表达式(Regular Expression)是一种强大的文本处理工具,在文本搜索、文本替换、数据提取等多个场景有着广泛的应用。它能够帮助...

    [Python]网络爬虫(七):Python中的正则表达式教程.pdf

    - `re.match(pattern, string)`:从字符串的开头开始匹配正则表达式,成功返回匹配对象,否则返回None。 - `re.search(pattern, string)`:扫描整个字符串,找到第一个符合正则表达式的部分,并返回匹配对象。 - ...

    Python正则表达式操作指南.pdf

    - 使用Python自带的`re`模块文档或在线工具进行正则表达式的测试和调试。 - 了解正则表达式的内部执行逻辑有助于优化和调试。 通过以上总结可以看出,Python正则表达式是一个强大的工具,能够极大地简化文本处理...

    Python正则表达式re模块简明笔记.pdf

    Python正则表达式是处理字符串的强大工具,它允许用户通过定义一系列规则来搜索、匹配和替换文本。Python的re模块就是用来处理正则表达式的一个标准库,它提供了一系列函数和方法以供开发者使用。re模块是任何需要...

Global site tag (gtag.js) - Google Analytics