首页 > 其他分享 >r'\1'表示替换字符串中的第一个捕获组 将匹配到的字符串被替换为第一个捕获组的内容 str.replace 正则表达式

r'\1'表示替换字符串中的第一个捕获组 将匹配到的字符串被替换为第一个捕获组的内容 str.replace 正则表达式

时间:2023-08-29 10:03:49浏览次数:44  
标签:匹配 捕获 replace str 字符串 替换

请解释pd.Series.str.replace(
            pat=r'(?i)(.*)-h.*',  # (.*)表示一个捕获组
            repl=r'\1',  # 将匹配到的字符串被替换为捕获组的内容
            regex=True
        )中r'\1'的作用

在pd.Series.str.replace()函数中,r'\1'表示替换字符串中的第一个捕获组。捕获组是由括号括起来的正则表达式的一部分,它用于匹配和提取特定的子字符串。

在给定的正则表达式中,r'(?i)(.*)-h.*',

括号内的部分(.*)表示一个捕获组,它匹配任意字符(除了换行符)的零个或多个实例。

-h.*表示匹配以"-h"开头的字符串后面的任意字符(除了换行符)的零个或多个实例。

当regex=True时,pd.Series.str.replace()函数使用正则表达式进行替换。替换字符串r'\1'表示将匹配到的字符串替换为捕获组中的内容

换句话说,它将匹配到的字符串的"-h"后面的部分替换为空字符串,从而删除了"-h"及其后面的内容。

标签:匹配,捕获,replace,str,字符串,替换
From: https://blog.51cto.com/u_16055028/7272503

相关文章

  • Leetcode 剑指Offer 05. 替换空格(Ti huan kong ge lcof)
    题目链接请实现一个函数,把字符串s中的每个空格替换成"%20"。示例1:输入:s="Wearehappy."输出:"We%20are%20happy."提示:0<=s的长度<=10000思路直接提交returns.replace("","%20"),常用方法信手拈来可不是每个人都能做到的(笑我的思路是首先定义一个leng......
  • Bash 字符串处理
    一、截取语法格式说明${string:start:length}从string字符串的左边第start个字符开始,向右截取length个字符。${string:start}从string字符串的左边第start个字符开始截取,直到最后。${string:0-start:length}从string字符串的右边第start个字......
  • 里氏替换原则
    里氏替换原则OOP(ObjectOrientedProgramming)面向对象编程OO中的继承性的思考1.继承包含这样一层含义,父类中凡是已经写好的方法,实际上就是设定规范。虽然不强制要求所有子类必须遵守规范(不重写方法),但是如果子类对这些方法,任意修改就会对继承体系造成破坏。2.继承在程序......
  • 一类字符串解析题目的思考
    一类字符串解析题目的思考相关题目最近整理发现,某些机考场景比较喜欢对复杂字符串做解析,例如:394.字符串解码1190.反转每对括号间的子串726.原子的数量特征其具体的表现为,给出一个字符串,给出一个基本结构字符串,例如{abc},是一个三明治(肉夹馍)结构,与扁平化json类似......
  • sqlserver 从数据源左侧截取到遇到特殊字符的最短的子字符串
    selectdbo.sjGetPreStr('1234^5*6/-33_','[]-_=+*&^')    ===>1234Createfunction[dbo].[sjGetPreStr](@strvarchar(1000),@pointArrvarchar(100))returnsvarchar(1000)asbegindeclare@resvarchar(1000)=''......
  • Spring3中替换默认拦截器的方法BeanFactoryPostProcessor
    由于Spring默认的静态资源处理器不能满足需求,需要做一些自己的处理,但mvc:resources的标签又挺好用的,不想每次配置静态资源目录的时候,还要特殊指定处理器,也不想修改任何配置代码,于是找到了使用BeanFactoryPostProcessor的方法 实现代码如下:importorg.springframework.beans.Beans......
  • SpringMVC3的ResponseBody返回字符串乱码问题解决
    SpringMVC的@ResponseBody注解可以将请求方法返回的对象直接转换成JSON对象,但是当返回值是String的时候,中文会乱码 原因是因为其中字符串转换和对象转换用的是两个转换器,而String的转换器中固定了转换编码为"ISO-8859-1" 网上也很多种解决方法,有通过配置Bean编码的,也有自己重写转......
  • Leetcode2788——按分隔符拆分字符串
    给你一个字符串数组 words 和一个字符 separator ,请你按 separator 拆分 words 中的每个字符串。返回一个由拆分后的新字符串组成的字符串数组,不包括空字符串 。注意separator 用于决定拆分发生的位置,但它不包含在结果字符串中。拆分可能形成两个以上的字符串。结......
  • python 中实现字符串反转的几种方法
     001、利用切片实现>>>str1="abcdef"##测试字符串>>>str1[::-1]'fedcba' 002、利用for循环实现>>>str1="abcdef"##测试字符串>>>rev="">>>foriinstr1:......
  • 字符串 01
    defremoveSpaces(s):left,right=0,len(s)-1#去除开头的空格whileleft<rightands[left]=='':left+=1whileleft<rightands[right]=='':right-=1new_s=[]whileleft<......