Python 正则表达式转义

这篇具有很好参考价值的文章主要介绍了Python 正则表达式转义。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


这篇文章是关于 Python 正则表达式转义的。 此外,我们将介绍 Python 正则表达式转义以及如何通过适当的示例代码使用它,以及 Python 正则表达式的多种用途。

此外,Python 支持使用正则表达式(或正则表达式)对字符串进行搜索和替换操作。


Python 正则表达式转义

RegEx 是一种根据预定义模式匹配文本的强大技术。 将文本与特定模式进行比较可以检测它是否存在。

它还可以将模式分解为子模式。 在 Python 中,正则表达式转义可以执行范围广泛的任务。

它可以执行搜索和替换操作、替换文本中的模式以及检查字符串是否包含特定模式。 今天我们还将使用正则表达式执行搜索和替换操作。

Python 中的正则表达式可以使用标准库中的 re 模块来表达。 正则表达式和字符串考虑它们的主要目的,即执行搜索。

如果有第一个匹配项,则将返回匹配项。

Python 有一个默认模块 re,它可以帮助进行搜索和替换。 我们的代码必须在开始时导入模块才能使用它。

import re

示例代码:

import re
match = re.search(r'Analytics', 'DataScience: Data Science & Analytics\                                    subfield of AI')
print(match)
print(match.group())
print("Begin the Index:", match.start())
print("Let's finish the Index:", match.end())

输出:

<re.Match object; span=(28, 37), match='Analytics'>
Analytics
Begin the Index: 28
Let's finish the Index: 37

Python 正则表达式转义的语法

原始属性在这里由 r 字符(r’property’)表示,而不是由正则表达式表示。 与常规字符串不同,纯字符串不会将 \ 字符解释为转义字符。

由于正则表达式引擎使用 / 字符进行转义的方式,它使用 / 字符进行转义。

让我们用 Python 对此进行详细说明。

import re
# When an escape() is used in the first case, it returns a string with BackSlash '/' before every non-Alphanumeric character. In the second case, it returns a string with BackSlash '/' before '' only.
print(re.escape("It was really a wonderful experience so far"))
print(re.escape("I am curious about the experience [a-9], she said \t ^Awesome"))

输出:

It\ was\ really\ a\ wonderful\ experience\ so\ far
I\ am\ curios\ about\ the\ experience\ \[a\-9\],\ she\ said\ \	\ \^Awesome

另外,如果要用Python中的正则表达式检查字符串中是否存在某个单词,可以用逗号分隔字符串。

只要字符串中没有转义字符,r 就会使字符串成为原始字符串,不处理转义字符。

此外,re.match 从字符串的开头开始匹配。 这意味着它搜索字符串和模式之间的精确匹配。

如果您需要在任何地方匹配字符串中的任何内容,请使用 re.search。 下面是一个例子。

import re
line = 'This,is,a,practice,string'
re.match("practice", line)
re.search("practice", line)

输出:

<re.Match object; span=(10, 18), match='practice'>

此外,我们将了解 Python 正则表达式的多种用途。


Python 正则表达式的多次使用

搜索并替换为正则表达式

在 regex 方法中,搜索一个字符串,然后替换一些其他值。 Python 的 re.sub() 模块中的 re.sub() 函数用于完成此操作。

语法:

re.sub(pattern, replacement, string, count=0, flags=0)

我们可以使用 Python 使用正则表达式搜索和查找字符串。 在这种情况下,字符串是包含您要操作的字符串的变量。

如果模式在字符串中多次出现,我们可以指定您希望模式被替换多少次。 0 是默认值; 在任何情况下,它都是可选的。

无需指定正则表达式标志。

示例代码:

import re
str = "abid304@outlook.com"
print(re.sub("[a-z]*@", "abc@", str))

输出:

abid304abc@outlook.com

用正则表达式替换多模式

可以使用正则表达式一次替换多个模式。 可以使用以下语法轻松完成此操作。

语法:

re.sub(pattern_11 | pattern_22, replacement, string, count=0, flags=0)

示例代码:

import re
str = "MachineLearning is the Subfield of AI"
print(re.sub(r"(\s)|(-)", ",", str))

输出:

MachineLearning,is,the,Subfield,of,AI

使用正则表达式将多个模式替换为多个替换值

正则表达式也可用于用不同的替换项替换多个模式。 如以下示例所示,需要稍作修改。

示例代码:

import re
def convrt_case(mtch_obj):
  if mtch_obj.group(1) is not None:
    return mtch_obj.group(1).lower()
  if mtch_obj.group(2) is not None:
    return mtch_obj.group(2).upper()
str = "mACHINE lEARNING IS THE sUBFIELD OF ai"
print(re.sub(r"([A-Z]+)|([a-z]+)", convrt_case, str))

输出:

Machine Learning is the Subfield of AI

如本例所示,该字符串同时包含需要替换的大写和小写字母。 大写字母需要替换为小写字母,反之亦然。

我们将创建两个组,然后添加一个函数来替换它们。

在 Python 中,正则表达式转义 sub() 方法用于替换字符串。 替换后的字符串由 re 模块中的 Python 内置方法返回。

确保导入 re 模块。 在此方法中,搜索字符串中的模式并用新表达式替换。

我们希望这篇 Python 文章能帮助您了解如何更有效地在 Python 中使用正则表达式转义。文章来源地址https://www.toymoban.com/news/detail-486719.html

到了这里,关于Python 正则表达式转义的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 老夫的正则表达式大成了,桀桀桀桀!!!【Python 正则表达式笔记】

    特殊字符 .^$?+*{}[]()| 为特殊字符,若想要使用字面值,必须使用 进行转义 字符类 [] [] 匹配包含在方括号中的任何字符。它也可以指定范围,例: [a-zA-Z0-9] 表示a到z,A到Z,0到9之间的任何一个字符 [u4e00-u9fa5] 匹配 Unicode 中文 [^x00-xff] 匹配双字节字符(包括中文) 在 [] 中

    2024年02月04日
    浏览(60)
  • 机器学习与数据科学-专题1 Python正则表达式-【正则表达式入门-1】

    为了完成本关任务,你需要掌握: 在 Python 中使用正则表达式; 最基础正则表达式; 正则匹配函数。 在 Python 中使用正则表达式 正可谓人生苦短,我用 Python。Python 有个特点就是库非常多,自然拥有正则匹配这种常见的库,并且此库已经嵌入在 Python 标准库中,使用起来非常

    2024年01月22日
    浏览(64)
  • python正则表达式-正则基础

    目录 一、任一元素 二、匹配特定的字符类别          1、d  w 三、多个元素          1、两位元素 [][]          2、* + ?          3、重复次数 {}          4、位置匹配 ^ $          5、子表达式()         []:1、[ab] 匹配a或b;        2、[0-9] 匹配任意一个数

    2024年02月05日
    浏览(46)
  • python 正则表达式

    2024年01月17日
    浏览(56)
  • PYthon正则表达式

    正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则

    2024年01月17日
    浏览(46)
  • Python正则表达式(小结)

    正则表达式(regular expression,有时简写为RegEx 或 regex)就是用一组由字母和符号组成的“表达式”来描述一个特征,然后去验证另一个“字符串”是否符合/匹配这个特征。 (1)验证字符串是否符合指定特征,比如验证邮件地址是否符合特定要求等; (2)用来查找字符串,

    2024年02月05日
    浏览(43)
  • 速通Python正则表达式

    几乎所有语言中的正则表达式都有相类似的语法,python亦莫能外。 接下来直观地看一下最常用的的三大函数 其中, re.match 要求从头匹配; search 可以从任意位置匹配,但只返回第一个匹配的值的位置; findall 返回所有符合要求的值。 任意字符 . 匹配除了换行符之外的所有字

    2024年02月06日
    浏览(47)
  • python之正则表达式

    目录 正则表达式 python正则表达式方法  match search findall finditer compile 元字符匹配 元字符 量词 贪婪匹配和惰性匹配 正则表达式的group 语法 案例  正则表达式又称规则表达式,是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式的文

    2024年02月14日
    浏览(45)
  • Python高级教程(1)——正则表达式(re.match、re.search、re.sub、compile、findall、finditer、split)、正则表达式对象、正则表达式实例

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 (1)re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。 函数语法: 通过re.match匹配成功,可以使⽤group⽅法来提取数据

    2024年02月04日
    浏览(68)
  • 正则表达式学习记录(Python)

    一、特殊符号和字符 多个正则表达式匹配 ( | ) 用来分隔不同的匹配模式,相当于逻辑或,可以符合其中任何一个正则表达式 匹配任意的单个字符 ( . ) 点号用来匹配除了换行符n 之外的任意一个字符 如果想要匹配该符号需要添加转移符 . 匹配字符串开头(^) 放在匹配

    2024年02月13日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包