精华内容
下载资源
问答
  • pythonpython使用正则表达式替换匹配成功的组正则表达式简介正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),...

    python 的 python使用正则表达式替换匹配成功的组

    正则表达式简介

    正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

    许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

    最初的正则表达式出现于理论计算机科学的自动控制理论和形式化语言理论中。在这些领域中有对计算(自动控制)的模型和对形式化语言描述与分类的研究。 1940年,Warren McCulloch与Walter Pitts将神经系统中的神经元描述成小而简单的自动控制元。 1950年代,数学家斯蒂芬·科尔·克莱尼利用称之为“正则集合”的数学符号来描述此模型。肯·汤普逊将此符号系统引入编辑器QED,然后是Unix上的编辑器ed,并最终引入grep。自此,正则表达式被广泛地使用于各种Unix或者类似Unix的工具,例如Perl。

    Python提供了对正则表达式的支持,它内嵌在Python中,通过Python的re模块提供。

    re模块提供了类似于Perl的正则表达式语法。

    通过使用正则表达式,我们可以制定需要匹配的字符串的特定格式,然后从需要处理的字符串中提取我们感兴趣的字符串。Python中的re模块也提供了像sub(),subn(),split()这些方法来实现通过正则表达式来灵活地进行文本的替换和分割。

    在Python中,正则表达式会被编译成一系列的字节码,然后由通过C编写的正则表达式引擎进行执行。

    好了,下面看下python使用正则表达式替换匹配成功的组,具体内容如下所示:

    在前面主要学习了怎么样匹配成功,都没有修改原来的内容的。现在来学习一个匹配成功之后修改相应的内容,在这里使用sub()函数来实现这个功能,同时使用引用组号来插入原来的字符,例子如下:

    #python 3.6

    #蔡军生

    #http://blog.csdn.net/caimouse/article/details/51749579

    #

    import re

    bold = re.compile(r'\*{2}(.*?)\*{2}')

    text = 'Make this **cai**. This **junsheng**.'

    print('Text:', text)

    print('Bold:', bold.sub(r'\1', text))

    结果输出如下:

    Text: Make this **cai**. This **junsheng**.

    Bold: Make this cai. This junsheng.

    总结

    以上所述是小编给大家介绍的python使用正则表达式替换匹配成功的组,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    展开全文
  • Python正则表达式在使用中会经常应用到字符串替换的代码。有很多人都不知道如何解决这个问题,下面的代码就告诉你其实这个问题无比的简单,希望你有所收获。1.替换所有匹配的子串用newstring替换subject中所有与正则...

    Python正则表达式在使用中会经常应用到字符串替换的代码。有很多人都不知道如何解决这个问题,下面的代码就告诉你其实这个问题无比的简单,希望你有所收获。

    1.替换所有匹配的子串用newstring替换subject中所有与正则表达式regex匹配的子串

    result, number = re.subn(regex, newstring, subject)

    2.替换所有匹配的子串(使 用正则表达式对象)

    rereobj = re.compile(regex)

    result, number = reobj.subn(newstring, subject)

    Python字符串拆分

    reresult = re.split(regex, subject)

    字符串拆分(使用正则表示式对象)

    rereobj = re.compile(regex)

    result = reobj.split(subject)

    下面列出Python正则表达式的几种匹配用法:

    1.测试正则表达式是否 匹配字符串的全部或部分regex=ur"..." #正则表达式

    if re.search(regex, subject):

    do_something()

    else:

    do_anotherthing()

    2.测试正则表达式是否匹配整个字符串regex=ur"...\Z" #正则表达式末尾以\Z结束

    if re.match(regex, subject):

    do_something()

    else:

    do_anotherthing()

    3. 创建一个匹配对象,然后通过该对象获得匹配细节regex=ur"..." #正则表达式

    match = re.search(regex, subject)

    if match:

    # match start: match.start()

    # match end (exclusive): match.end()

    # matched text: match.group()

    do_something()

    else:

    do_anotherthing()

    以上就是对Python正则表达式在字符串替换中的具体介绍。希望对大家的学习有所帮助,也希望大家多多支持我们。

    本文标题: Python正则表达式如何进行字符串替换实例

    本文地址: http://www.cppcns.com/jiaoben/python/175219.html

    展开全文
  • 本篇文章给大家带来的内容是关于浅析python正则表达式中反斜线的转义功能的原理,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。最近深入研读了正则表达式的一本经典著作,对于在python中使用正则...

    本篇文章给大家带来的内容是关于浅析python正则表达式中反斜线的转义功能的原理,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享。

    核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你要匹配一个反斜线本身时要注意它必须被转义两次。(除非你使用原始字符串,就是字符串前面加r)

    我们先来看一个例子:import re

    a = re.match('\\\','\\')File "", line 2

    a = re.match('\\\','\\')

    ^

    SyntaxError: unexpected character after line continuation character

    上面这个例子本身就不合语法要求,那么为什么呢? 首先在

    python中,因为正则表达式本身是一个字符串,所以它要遵守字符串的规则——反斜线表示转义符

    而在正则表达式中反斜线又是一个具有转义功能的元字符,所以反斜线具备了双重转义功能

    回到例子中,第一个转义了第二个,此时第二个去除了字符串转义符的身份,但是它还有正则表达式转义元字符的身份,也就是说第二个仍然具备转义功能,那么它转义谁呢?它只能转义第三个,可是第三个它具备两层身份(字符串的转义符和正则表达式的转义元字符)

    所以现在有两种可能情况发生:

    第一种,第二个无法转义第三个,因为身份不符,一个是正则表达式转义元字符,另一个是字符串转义符

    第二种,第二个转义了第三个,但是这种转义也仅仅是去除了一层身份,但是它还有一层身分(转义元字符)结果就是第三个仍然具有转义功能。

    总之不管这时发生了哪种情况,第三个最终结果就是仍然具备转义功能,他会转义它后面的单引号,使得整段代码语法错误。

    所以正确的写法是再添加一个反斜线,四个反斜线,两两转义之后最终转义成匹配单独一个反斜线的功能import re

    a = re.match('\\\\','\\')

    print(a)

    #显示的结果match='\\',之所以显示两个反斜线是因为语法规定一个反斜线无法显示(\是转义符)<_sre.sre_match object span="(0," match="\\">

    当然也可以使用原始字符串的方法,在字符串前面加r,这时里面的反斜线就失去字符串转义符的功能了,本文主要讨论实质原理,不是方法import re

    a = re.match(r'\\','\\')

    print(a)<_sre.sre_match object span="(0," match="\\">

    展开全文
  • 最近遇到一个正则表达式替换的问题time数据里面的每条数据前面都有[0]= [1]= [2]= [3]=这个索引:["time"]={[0]={["status"]=true,["ac"]=1,["bg"]=2},[1]={["status"]=true,["ac"]=1,["bg"]=2},[2]={["status"]=...

    最近遇到一个正则表达式替换的问题

    time数据里面的每条数据前面都有[0]= [1]= [2]= [3]=这个索引:

    ["time"]={[0]={["status"]=true,["ac"]=1,["bg"]=2},[1]={["status"]=true,["ac"]=1,["bg"]=2},[2]={["status"]=true,["ac"]=1,["bg"]=2},}

    因为一些原因前面的索引没了,只能用正则来加上,问题是time里面的数据数量是不一样的

    ["time"]={{["status"]=true,["ac"]=1,["bg"]=2},}

    ["time"]={{["status"]=true,["ac"]=1,["bg"]=2},{["status"]=true,["ac"]=1,["bg"]=2},}

    ["time"]={{["status"]=true,["ac"]=1,["bg"]=2},{["status"]=true,["ac"]=1,["bg"]=2},{["status"]=true,["ac"]=1,["bg"]=2},}

    有没有方法自动在前面加顺序的[0]= [1]= [2]= [3]=

    补充:

    错误的数据是在一起的,而且time里面的数据顺序不相同,如下:

    ["time1"]={{["status"]=true,["ac"]=1,["bg"]=2},},["time2"]={{["status"]=true,["ac"]=1,["bg"]=2},{["status"]=true,["ac"]=1,["bg"]=2},},["time3"]={{["status"]=true,["ac"]=1,["bg"]=2},{["status"]=true,["ac"]=1,["bg"]=2},{["status"]=true,["ac"]=1,["bg"]=2},}

    想改成:

    ["time1"]={[0]={["status"]=true,["ac"]=1,["bg"]=2},},["time2"]={[0]={["status"]=true,["ac"]=1,["bg"]=2},[1]={["status"]=true,["ac"]=1,["bg"]=2},},["time3"]={[0]={["status"]=true,["ac"]=1,["bg"]=2},[1]={["status"]=true,["ac"]=1,["bg"]=2},[2]={["status"]=true,["ac"]=1,["bg"]=2},}

    展开全文
  • Python替换正则表达式(Python replace regex)我有一个字符串,其中有一些可能为空的属性:[attribute1=value1, attribute2=, attribute3=value3, attribute4=]用python,我需要用值'None'来抽空空值。 我知道我可以...
  • Python 正则表达式替换特定字符为标志的字符串
  • 其中最重要的一点就是Python自己的字符串中定义的反斜杠也是转义字符,而正则表达式中的反斜杠也是转义字符,所以正则表达式中反斜杠会涉及到双重转换的问题。要匹配字符串中1个反斜杠应该怎么写正则表达式?"\\",...
  • 本文实例讲述了Python基于正则表达式实现文件内容替换的方法。分享给大家供大家参考,具体如下:最近因为有一个项目需要从普通的服务器移植到SAE,而SAE的thinkphp文件结构和本地测试的有出入,需要把一些html和js的...
  • 在对search()的调用中,正则表达式之前的r字符指定正则表达式是原始字符串。这允许反斜杠在正则表达式中用作常规字符,而不是在转义字符序列中。让我解释 ...在re模块的搜索方法处理传递给它的字符串之前,Python...
  • 我用python写一个计算器,想用正则表达式将字符串中的一些内容替换,举个例子字符串如下 1+2*3-(5/6)+sin(45)-ln(100) 如何将用正则表达式先找到其中有sin()的内容,然后将sin(45)这个子串提取出来算出其值,然后用...
  • 在 Excel 中,使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出出现右侧的代码编辑窗口在代码窗口中输入以下代码... Cell As Range'此处定义正则表达式Set RegExp = Create...
  • string, flags=0) 在一个字符串中查找匹配2、findall(pattern, string ,flags=0) 找到匹配,返回所有匹配部分的列表3、sub(pattern, repl, string , count=0, flags=0) 将字符串中匹配正则表达式的部分替换为其他值...
  • 一个实例,有一段html代码,不符合xml格式规范,所以要用python对它进行下转换。 其中要转换的地方有:::1、[&]转为[&](但是不能把[]转了);2、把代码中的["=""]去掉;3、把[svg]和[path]标签都改为[svg:svg]...
  • 在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)?一、引入在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的:1)普通字符串:'\\'2)原始字符串:r'\'但事实上在...
  • 我是一个Python新手.我一直在寻找,但发现我的观念只有一点点.Windows上的Python 2.7(我选择了python,因为它是多平台,结果可以在Windows上移植).我想创建一个脚本,在文件夹中搜索* .txt UTF-8文本文件,加载内容(一个...
  • python正则表达式替换re.sub使用

    千次阅读 2018-11-03 22:02:39
    最近在做处理文本的相关工作,需要对已有文本进行修改,如增加内容,删除内容,替换内容等。所以对re.sub的使用比较频繁。 为什么要使用正则替换,因为在编码过程中,读取文件内容进字符串...首先构建一个正则表达式...
  • 展开全部先用e68a84e8a2ad62616964757...)\) 取第一捕获组的数据把sin(45)中的角度值angle匹配出来,然后计算出sin(angle)的值value,最后用正则表达式 "sin\("+angle+"\)" 替换成String.valueOf(value) //value的字符...
  • 在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)?一、引入在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的:1)普通字符串:'\\'2)原始字符串:r'\'但事实上在...
  • 要求: 查找字符串str中紧挨着‘-’后的两个数字字符,将其替换为99. 比如str = 'adbc33df-23djk'; 要求将23替换成99. 我试了str1 = re.sub('-/d/d', '99', str);...感觉python正则表达式上不及perl好用
  • 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模块,它提供 Perl ...使用正则表达式替换字典数据 ${memberID} 对应的正则表达式 ‘\$\{.*\}’ 解
  • 我有一个字符串可能看起来像这样"myFunc('element','node','elementVersion','ext',12,0,0)"我目前正在...)\)现在我想替换第3个参数的任何字符串.不幸的是,我不能在第三个位置上的任何子字符串上使用stringreplace,...
  • 在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)?一、引入在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的:1)普通字符串:'\\'2)原始字符串:r'\'但事实上在...
  • ss'adds**dd**'python正则表达式替换字符串问题对第1条运行结果有疑问,另一个问题是:如果想要把两个“xyz”都替换为“xy按照你的要求在不改变name()函数的前提下,把两个"xyz"都替换为"xyz111"的...
  • 最终发现自己理解错了,原来原始字符串和“正则转义”没有一点关系;下面详细谈一谈。二、字符串转义反斜杠,在Python中比较特殊,就是它可以用来构成一些特殊字符,比如“\n”表示换行,“\t”表示制表...
  • 用openssl做证书中心发证时,要发的证书...从00-FF,查看起来很不方便,就打算用python写个小的脚本来进行转码查看。先上代码:#coding=utf8"""将pem(文本格式)的证书里面的\x??转换为UTF8编码,显示正确的内容"""...
  • 第八十三节:替换字符串Python中,导入re模块后还可以进行字符串的替换操作,就是sub()方法,具体的语法格式如下:re.sub(pattern,repl,str,count,flags)和昨天学过的三种匹配字符串的方法一样,模块名re使用一个点...
  • Python 正则表达式作者:杨梦鸽校对:翟舒青正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re ...该对象拥有一系列方法用于正则表达式匹配和替换。r...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,007
精华内容 1,202
关键字:

python正则表达式替换

python 订阅