浅谈正则表达式 实例入门

浅谈正则表达式 实例入门

什么是正则表达式?

正则表达式(Regular Expression),又称正规表达式、常规表示法、规则表达式,是计算机科学的一个概念。正则表达式利用单个字符串来描述、匹配符合某个规则的字符串集合。正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式作为一种工具,可以在文本中进行查找、替换、匹配、筛选等操作,因此被广泛应用于文本处理、数据挖掘、搜索引擎等领域。

正则表达式的基本语法

正则表达式的基本语法包括普通字符和特殊字符。

普通字符:包括大小写字母、数字、下划线以及它们的组合。

特殊字符:由 \ 开头。其中一些特殊字符表示的是一些特殊含义,如 \d 表示数字,\w 表示单词字符(包括字母、数字、下划线),\s 表示空白字符(包括空格、制表符、换行符等),等等。

正则表达式的语法非常灵活,可以通过组合这些普通字符和特殊字符来描述具体的文本模式。在这里不过多赘述,可以参考 菜鸟教程的正则表达式教程 了解更多详细内容。

正则表达式的实例应用

实例一:匹配手机号码

假设我们要编写一个程序,需要从一段文本中匹配出所有的手机号码。手机号码一般为 11 位纯数字,可以用正则表达式来匹配。我们可以使用如下的正则表达式:

1\d{10}

其中,\d 表示数字,{10} 表示前一个字符(即 \d)重复出现 10 次。这个正则表达式的意思就是:以 "1" 开头,后面跟着 10 个数字的字符串。

以下是一个 Python 代码示例,使用 re 模块和上述正则表达式来匹配手机号码:

import re

text = "我的手机号码是:13888888888,你的是多少呢?"
pattern = r"1\d{10}"
result = re.findall(pattern, text)
print(result)  # 输出结果为 ["13888888888"]

实例二:提取 HTML 中的所有链接

假设我们要从一个 HTML 页面中提取出所有的链接地址。链接地址通常包含在 <a> 标签的 href 属性中。我们可以使用如下的正则表达式:

href="(.*?)""

其中,.*? 表示任意字符重复出现 0 次或多次,但尽可能少地匹配。这个正则表达式的意思就是:匹配以 href= 开头、以双引号做结尾的字符串,并返回双引号之间的内容。

以下是一个 Python 代码示例,使用 re 模块和上述正则表达式来提取 HTML 中的所有链接:

import re

html = '<a href="http://www.example.com">Example</a><a href="http://www.baidu.com">Baidu</a>'
pattern = r'href="(.*?)"'
result = re.findall(pattern, html)
print(result)  # 输出结果为 ["http://www.example.com", "http://www.baidu.com"]

总结

本文简要介绍了正则表达式的基本概念、基本语法和两个使用示例。正则表达式的应用非常广泛,熟练掌握正则表达式可以大大提高文本处理的效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈正则表达式 实例入门 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 一文总结JavaScript中常见的设计模式

    一文总结JavaScript中常见的设计模式 什么是设计模式? 设计模式是一种被广泛应用于软件开发中的经验总结。它是针对某种常见问题,经过反复实践并总结出的最优解决方案,具有高重用性、可维护性等优点,被广泛应用于软件开发中。 JavaScript中常见的设计模式 在JavaScript中,常见的设计模式包括: 工厂模式 工厂模式是一种通过工厂函数来创建对象的…

    JavaScript 2023年5月19日
    00
  • js操作DOM–添加、删除节点的简单实例

    以下是关于”js操作DOM–添加、删除节点的简单实例”的完整攻略: 一、添加节点 在HTML页面中添加节点有四个主要方法: 1.1 appendChild() appendChild() 方法可以在父节点的末尾添加一个子节点。示例代码如下: // 创建新节点 var newP = document.createElement("p");…

    JavaScript 2023年6月10日
    00
  • javascript 简练的几个函数

    JavaScript 是一门高性能、多范式的编程语言,从基础语法到高级技术,都需要程序员花费大量的时间和精力去学习和掌握。本文将以 “JavaScript 简练的几个函数” 为主题,为读者介绍几个简单但常用的 JavaScript 函数,旨在帮助初学者更好地学习和使用 JavaScript。 一、trim 1.1 简介 trim 函数是 JavaScript…

    JavaScript 2023年5月18日
    00
  • js中apply和Math.max()函数的问题及区别介绍

    JS中的apply方法可以扩展函数的功能,它允许你在一个对象的上下文中运行函数,并将参数作为数组传递。 Math.max()函数用于返回一组数中的最大值,在使用时可以通过apply方法传递一个数组作为参数。下面将会介绍这两个函数的问题及区别。 apply方法的使用 function myFunction(a, b, c) { console.log(a + …

    JavaScript 2023年6月10日
    00
  • javascript跨域的4种方法和原理详解

    请听我详细讲解“JavaScript跨域的4种方法和原理详解”的完整攻略。 什么是跨域 在Web开发中,当一个页面使用了跟本页面不同域名的资源,例如JavaScript、CSS、图片、iframe等,就会出现所谓的“跨域”问题(Cross-Origin Resource Sharing,CORS)。因为同源策略(Same-Origin Policy),默认情…

    JavaScript 2023年5月27日
    00
  • JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端

    在JS中使用mailto协议可以实现将用户输入的内容传递到本地邮件客户端。mailto协议是一种特殊的URL协议,使用具有mailto之前缀的超链接或javascript中的window.location.href等方法可以触发邮件客户端的启动。 以下是实现将用户在网页中输入的内容传递到本地邮件客户端的完整攻略: 1.编写HTML代码 首先,需要在HTML中…

    JavaScript 2023年5月19日
    00
  • js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期

    先来解释一下获取日期的方式:可以通过 JS 内置对象 Date() 进行日期的获取,以下是获取日期的方法: getFullYear():获取年份 getMonth():获取月份(注意:返回值是0-11,0代表一月,11代表十二月) getDate():获取日(注意:返回值是1-31之间的整数) getDay():获取星期几(注意:返回值是0-6,0代表星期日…

    JavaScript 2023年5月27日
    00
  • javascript Error 对象 错误处理

    下面是关于“JavaScript Error 对象错误处理”的完整攻略: 定义 JavaScript Error 对象是一个构造函数,用于创建表示错误情况的对象。 Error 对象可以在发生异常、错误或任何其他意外情况时使用,从而方便地对错误进行处理和调试。 创建一个 Error 对象 我们可以使用 new 关键字创建一个 Error 对象,如下所示: le…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部