正则表达式的分组可否自定义分组序号?【无解,做不到,结贴】
本帖最后由 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 可以发出来 看看 正则表达式中可以命名捕获组,不过要比较新的语言,例如ECMAScript 2018 EmEditor支持分组替换,我曾经做过类似作业,你不妨试一试? 键值对拆开不行的哇,要么别放在xml文件里,用mapping试试 不可以用beautifulsoup库么,直接找标签name属性或者value属性。而各个属性对应的文本直接.text就可以了把 luby 发表于 2022-7-27 16:52
可以发出来 看看
发出什么?题目没有描述清除么?没理解你意思 茫茫狐 发表于 2022-7-27 18:55
不可以用beautifulsoup库么,直接找标签name属性或者value属性。而各个属性对应的文本直接.text就可以了把
想用正则解决,不引入第三方。而且我是小众编程语言 假笑 发表于 2022-7-27 18:30
键值对拆开不行的哇,要么别放在xml文件里,用mapping试试
我是要处理别人的文件,不是自己能决定 Natu 发表于 2022-7-27 17:37
EmEditor支持分组替换,我曾经做过类似作业,你不妨试一试?
我要用写程序处理,不是手工处理啊