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

Rocky大约 2 分钟

先说下需求

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

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

替换后的效果:


系统推荐









  • 随机毒鸡汤:我这人不太懂音乐,所以时而不靠谱,时而不着调。