正则表达式匹配第几个符号问题

Posted RockyPeng3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式匹配第几个符号问题相关的知识,希望对你有一定的参考价值。

原文链接

先说下需求

现在有类似下面的字符串(只列出部分,实际很多):

object_type,customer,消费者对象
object_type,product,产品对象
object_type,organization,组织对象
object_type,employee,员工对象
object_type,other,其他
wechat_public_account,test,java
wechat_mini_program,test,vue
encrypt_method,noencrypt,不加密

现在想把第一个 , 改为 .
然后想把第二个 , 改为 =


如果是你,你会怎么做?
如果用正则,正则怎么写?

我的方案

采用正则表达式,正则的表达式为:

,(.*)

替换为:

.$1

上面的 $1 就表示第一对小括号匹配到的字符串。 类似的 $2 表示第二对小括号匹配到的字符串

举一反三

现在需求改为:把第二个逗号后的内容 和 第一个第二个逗号之间的内容 位置进行调换,正则表达式怎么写?

匹配的表达式:

,(.*),(.*)

替换为:

,$2,$1

替换后的效果:

替换后的效果:
[外链图片转存中…(img-wCHN8B0W-1672888287517)]

以上是关于正则表达式匹配第几个符号问题的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式位置匹配攻略【转】

Regex 正则表达式中几个符号([ ] ^ ?: ?= ?!)的概念

Oracle 正则表达式函数-REGEXP_INSTR 使用例子

Oracle 正则表达式函数-REGEXP_SUBSTR 使用例子

Oracle 正则表达式函数-REGEXP_REPLACE 使用例子

正则表达式