ilovecomputer66 发表于 2022-7-27 16:32

正则表达式的分组可否自定义分组序号?【无解,做不到,结贴】

本帖最后由 ilovecomputer66 于 2022-7-27 20:46 编辑

我有一个正则,是匹配XML的一个键值对定义

每行要么<tag name="xx" value = "xx" />要么就<tag name="xx">value</tag>

所以我写了正则表达式,给key、value分别分组   因为2种写法,所以中间用|或者来隔开

但我发现,它是顺着分组编号,所以一共4个分组了

这样我就不太方便了。因为一行就一种写法,要么匹配到 1、2组,要么3、4组,用代码判断哪两个不为null,这种写法我觉得太low了

我想知道,能否把后两个分组编号也定为1、2

这样,不管哪种写法,通过分组1、2都是拿到key、value

luby 发表于 2022-7-27 16:52

可以发出来 看看

kesai 发表于 2022-7-27 17:18

正则表达式中可以命名捕获组,不过要比较新的语言,例如ECMAScript 2018

Natu 发表于 2022-7-27 17:37

EmEditor支持分组替换,我曾经做过类似作业,你不妨试一试?

假笑 发表于 2022-7-27 18:30

键值对拆开不行的哇,要么别放在xml文件里,用mapping试试

茫茫狐 发表于 2022-7-27 18:55

不可以用beautifulsoup库么,直接找标签name属性或者value属性。而各个属性对应的文本直接.text就可以了把

ilovecomputer66 发表于 2022-7-27 19:16

luby 发表于 2022-7-27 16:52
可以发出来 看看

发出什么?题目没有描述清除么?没理解你意思

ilovecomputer66 发表于 2022-7-27 19:16

茫茫狐 发表于 2022-7-27 18:55
不可以用beautifulsoup库么,直接找标签name属性或者value属性。而各个属性对应的文本直接.text就可以了把

想用正则解决,不引入第三方。而且我是小众编程语言

ilovecomputer66 发表于 2022-7-27 19:22

假笑 发表于 2022-7-27 18:30
键值对拆开不行的哇,要么别放在xml文件里,用mapping试试

我是要处理别人的文件,不是自己能决定

ilovecomputer66 发表于 2022-7-27 19:23

Natu 发表于 2022-7-27 17:37
EmEditor支持分组替换,我曾经做过类似作业,你不妨试一试?

我要用写程序处理,不是手工处理啊
页: [1] 2 3
查看完整版本: 正则表达式的分组可否自定义分组序号?【无解,做不到,结贴】