正则表达式中的search && findall && finditer 区别:
import sys;
import re;
if __name__ == '__main__':
strVal = '''<a href="http://www.andylin02.com" target="_blank" class="dsdfv">aaaa</a>
<a href="http://www.congfeng.com" target="_blank" class="tdsfv">bbbbsdf</a>
<a href="http://www.st.com" target="_blank" class="txx">ccccccc</a>
<a href="http://www.qs.com" target="_blank" class="xxx">ddddd</a>
''';
print(strVal);
strPattern = r"(<\s*a\s.*href\s*=.*)";
#search
mtReSearch = re.search(strPattern, strVal);
print("======================= search result =======================");
print("%s ==> %d" %(mtReSearch.groups(), len(mtReSearch.groups()) ));
#findall
lsFind = re.findall(strPattern, strVal);
print("\n===================== findall result ========================");
print("%s ==> %d" %(lsFind, len(lsFind)));
#finditer
print("\n===================== finditer result =======================")
for mtFind in re.finditer(strPattern, strVal):
print(mtFind.groups());
print("------");
结果:
<a href="http://www.andylin02.com" target="_blank" class="dsdfv">aaaa</a>
<a href="http://www.congfeng.com" target="_blank" class="tdsfv">bbbbsdf</a>
<a href="http://www.st.com" target="_blank" class="txx">ccccccc</a>
<a href="http://www.qs.com" target="_blank" class="xxx">ddddd</a>
======================= search result =======================
('<a href="http://www.andylin02.com" target="_blank" class="dsdfv">aaaa</a>',) ==> 1
===================== findall result ========================
['<a href="http://www.andylin02.com" target="_blank" class="dsdfv">aaaa</a>', '<a href="http://www.congfeng.com" target="_blank" class="tdsfv">bbbbsdf</a>', '<a href="http://www.st.com" target="_blank" class="txx">ccccccc</a>', '<a href="http://www.qs.com" target="_blank" class="xxx">ddddd</a> '] ==> 4
===================== finditer result =======================
('<a href="http://www.andylin02.com" target="_blank" class="dsdfv">aaaa</a>',)
------
('<a href="http://www.congfeng.com" target="_blank" class="tdsfv">bbbbsdf</a>',)
------
('<a href="http://www.st.com" target="_blank" class="txx">ccccccc</a>',)
------
('<a href="http://www.qs.com" target="_blank" class="xxx">ddddd</a> ',)
------
分享到:
相关推荐
常见的引擎有Perl兼容正则表达式(PCRE)、JavaScript引擎、Python的re模块等。这些引擎可能在语法和行为上存在细微差别,例如对贪婪性和懒惰性的处理、支持的元字符范围等。 3. 正则表达式引擎的内部工作机制 正则...
Python中的正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。它是一种根据预定义的模式来查找、替换或者提取文本的方法。正则表达式的基本概念是用一个字符串描述一类字符串,通过特定的语法...
### Python正则表达式操作指南(re使用) #### 引言 正则表达式(Regular Expression,简称RE)是一种强大的文本处理工具,它提供了一种简便且灵活的方法来识别、处理和控制文本。Python自1.5版本起便内置了`re`模块...
正则表达式(Regular Expression)是一种强大的文本处理工具,在编程语言中被广泛应用于字符串的搜索与替换等操作。它能够帮助开发者快速定位、提取或验证文本中的模式。 #### 二、中文、数字、字母、下划线的匹配 ...
根据给定文件信息,本文将详细解释Python正则表达式速查表中包含的知识点。 ### 正则表达式基础概念 正则表达式(Regular Expressions),简称RE,在Python中用于匹配字符串中字符组合的模式。利用正则表达式,...
### Python正则表达式详解 #### 一、正则表达式概述 正则表达式(Regular Expressions)是一种强大的文本处理工具,它能够帮助我们快速地处理字符串中的各种模式匹配问题。例如,验证用户输入是否符合预期的格式,...
在本文中,作者提出了一种基于Python正则表达式的管制指令匹配与提取方法。正则表达式是一种强大的文本处理工具,能够灵活地识别和提取字符串中的特定信息。在航空管制领域,管制指令的准确提取对于保障飞行安全至关...
正则表达式(Regular Expression)是一种模式匹配工具,可以用来搜索、替换和提取文本中的特定模式。在编程和数据分析中,正则表达式扮演着至关重要的角色。Regex Util插件是为了帮助Eclipse用户更方便地利用正则...
它是编程语言中的重要组成部分,特别是在处理数据、验证用户输入、搜索与替换等场景下,正则表达式的功能显得尤为强大。这篇教程“半小时了解正则表达式”旨在为初学者提供一个快速入门的路径,让你能在短时间内掌握...
在编程语言中,正则表达式通常有一个专门的函数库支持,如Python的`re`模块,JavaScript的`match`, `search`, `replace`等方法。了解如何在特定语言中使用正则表达式是进一步提升技能的关键。 总之,"正则表达式...
无论是在Java、Python、C、C++还是.NET等编程语言中,正则表达式都能提供一致的语法和功能,使得程序员可以跨平台地应用这些技术。 正则表达式的语法由一系列字符和特殊符号组成,它们组合在一起形成模式,这个模式...
re模块中包含了多种函数,这些函数可以用来进行正则表达式的搜索、匹配等操作。使用re模块前需要先导入它: ```python import re ``` 在Python的re模块中,`match`方法可以用来检查字符串的开头是否符合某个正则...
以下是对Python正则表达式及其常用函数的详细说明: 1. `compile(pattern, flags)`: 这个函数用于编译正则表达式模式,生成一个`Pattern`对象。编译后的模式可以提高执行效率,特别是当正则表达式需要多次使用时。 ...
在计算机科学中,正则表达式被广泛应用于字符串的搜索与替换操作中。 #### 正则表达式的应用场景 1. **字符串验证**:例如验证邮箱格式是否正确。 2. **数据提取**:从大量文本中提取特定格式的数据,如日期、时间...
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串中的模式。它在编程语言中广泛使用,特别是在处理数据验证、文本搜索和替换等任务时。本资源包含一个英文版的正则表达式教程,尽管是英文版,...
- `ASP集中营.txt`可能是关于ASP编程中使用正则表达式的一些示例或教程,可以帮助理解如何在服务器端脚本中应用正则。 通过深入学习正则表达式,你可以更有效地处理字符串,提高编程效率,解决复杂的数据处理问题...
8. **实践应用**:结合实例,学习在编程语言(如JavaScript、Python、Java等)中如何使用正则表达式进行文本处理,如搜索、替换、分割等操作。 9. **调试技巧**:学习使用正则表达式测试工具,如在线的RegExr或...
正则表达式是一种强大的文本处理工具,在计算机科学中被广泛应用于字符串匹配、搜索、替换等场景。本文档提供了正则表达式的文法规范,采用巴科斯-诺尔范式(BNF,Backus-Naur Form)的形式来描述正则表达式的结构。...
- **编程语言**: 如JavaScript、Python、Java、C#等都内置了正则表达式支持,有各自实现的细微差别。 - **文本编辑器与IDE**: 如Sublime Text、VS Code等提供了强大的正则表达式查找和替换功能。 6. **学习资源与...