Python字符串与正则表达式基础教程
42 浏览量
更新于2024-08-29
1
收藏 168KB PDF 举报
Python字符串与正则表达式是编程中非常重要的概念,尤其在处理文本数据和进行数据验证时。接下来,我们将深入探讨这两个主题。
1. **数值与布尔型**
- **整型(int)**:表示整数,如`1`, `-2`, `0`。
- **浮点型(float)**:表示带有小数部分的数字,如`1.1`, `-2.0`。
- **布尔型**: 表示逻辑值,`True`和`False`。在Python中,布尔型可以被视为整型的子类,`True`相当于`1`,`False`相当于`0`。
- **数据类型检查**:使用内置函数`type()`来确定变量的数据类型。
- **布尔运算**:在数值运算中,`True`被当作`1`,`False`被当作`0`。
2. **字符串**
- **创建字符串**:可以通过单引号 `' '` 或双引号 `" "` 来创建字符串。如果需要在字符串内部包含引号,可以使用不同类型的引号来避免冲突。三引号 `"""` 或 `'''` 用于创建多行字符串。
- **字符串操作**:
- **连接**:使用 `+` 符号连接两个字符串。
- **复制**:使用 `*` 符号和数字可以重复一个字符串。
- **转义**:反斜杠 `\` 用于在字符串中插入特殊字符,如 `\n` 代表换行,`\t` 代表制表符。
3. **字符串与数值的相互转换**
- **字符串转数值**:
- `str()` 函数将任何非字符串对象转化为字符串。
- `repr()` 函数通常用于创建一个可打印的、引号包围的字符串表示。
- `int()` 和 `float()` 分别将字符串转换为整型和浮点型,前提字符串能成功解析成相应的数值。
- `eval()` 函数可以计算字符串内的表达式,并返回结果,但不建议在不受信任的环境中使用,因为它可能执行任意的Python代码。
4. **正则表达式**
- **基础知识**:正则表达式(Regex)是一种模式匹配工具,用于查找、替换或提取符合特定模式的文本。
- **元字符**:如`.`匹配任意字符,`^`表示行首,`$`表示行尾,`\d`代表数字,`\w`代表字母或数字,`\s`代表空白字符。
- **量词**:如`*`表示前面的元素零次或多次,`+`表示一次或多次,`?`表示零次或一次。
- **分组与选择**:使用圆括号`()`创建分组,`|`表示或操作,可以匹配分组中的任一选项。
- **预定义字符类**:`\d`, `\D`, `\s`, `\S`, `\w`, `\W`等帮助匹配特定类型的字符。
- **正向肯定预查**与**正向否定预查**:如`(?=pattern)`表示后续必须匹配`pattern`,`(?!pattern)`表示后续不能匹配`pattern`。
5. **Python的字符串常用内建函数**
- `len()`:返回字符串的长度。
- `str.upper()`, `str.lower()`: 将字符串转换为大写或小写。
- `str.strip()`, `str.lstrip()`, `str.rstrip()`: 去掉字符串开头、结尾或两侧的指定字符。
- `str.startswith()`, `str.endswith()`: 检查字符串是否以指定前缀或后缀开头或结尾。
- `str.find()`, `str.index()`: 在字符串中查找子字符串的位置,`index()`会抛出异常如果未找到。
- `str.replace(old, new)`: 替换字符串中所有出现的`old`为`new`。
- `str.split()`: 按照指定分隔符将字符串分割成列表。
- `str.join(iterable)`: 使用字符串作为分隔符,将可迭代对象中的元素连接成一个新的字符串。
通过学习以上内容,你将能够有效地处理Python中的字符串和正则表达式,为你的编程实践提供强大的工具。继续练习和探索,你会发现更多关于这些主题的有趣应用。
2020-12-24 上传
2021-05-16 上传
2020-12-13 上传
2021-10-01 上传
2023-07-16 上传
2020-10-21 上传
2020-10-28 上传
2022-09-03 上传
2019-07-26 上传
weixin_38499553
- 粉丝: 11
- 资源: 904
最新资源
- 【ssm管理系统】医疗信息管理系统.zip
- exportific:抽象语法树(AST)简易教程,附加一个简单的源码编辑工具
- ios14.6真机调试包
- 73024452,c语言编写动画屏保源码,c语言
- c_sharp_homework_2
- VulkanEngine:基于VkGuide的项目
- NIM_Android_AVChatKit:网易云信Android音视频组件源码仓库
- drf-problems:它在HTTP API中引入了“问题详细信息”
- atom-bezier-curve-editor
- covid追踪器
- NIM_Android_RtsKit:网易云信Android RTS组件源码仓库
- ggp_mongoose:我的普通玩家!
- principle中拖拽效果的小案例演示.zip
- emial_classification
- RecyclerViewTest:这个项目是网易云课堂课程《 Android控件之RecyclerView》的
- tests:测试多个组件