» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[求助] 求助一下会写代码或者会写正则表达式的坛友,XML编辑相关

posted by wap, platform: Android
这种事情应该ai最拿手了,让deepseek深度思考了一下:

根据你的需求,可以编写以下正则表达式进行替换:

查找正则表达式:
```regex
<path>\.\/\[([^\]]+?)\](?:\[([^\]]+)\])?.*?<\/path>\s+<name>.*?<\/name>
```

替换为:
```regex
<path>$0</path>\n<name>$1${2:+ [}$2${2:+ ]}</name>
```

说明:
1. `\[([^\]]+?)\]` 匹配第一个中括号内的中文名称(非贪婪匹配)
2. `(?:\[([^\]]+)\])?` 匹配可能存在的中括号标记(如[中])
3. `$1` 会替换为第一个捕获组的中文名称
4. `${2:+ [}$2${2:+ ]}` 是条件替换语法,当第二个捕获组存在时,会添加`[中]`格式的标记

注意替换时需要:
1. 开启多行模式(Multiline)
2. 使用支持条件替换的正则引擎(如Visual Studio Code的JavaScript正则引擎)

替换效果:
```xml
原内容:
<path>./[七宝奇谋2.弗雷泰利最后的挑战]Goonies.2...nes</path>
<name>Goonies 2 : ...</name>

替换后:
<path>./[七宝奇谋2.弗雷泰利最后的挑战]Goonies.2...nes</path>
<name>七宝奇谋2-弗雷泰利最后的挑战</name>

原内容:
<path>./[七宝奇谋2.弗雷泰利最后的挑战][中]Goonies.2...nes</path>
<name>Goonies 2 : ...</name>

替换后:
<path>./[七宝奇谋2.弗雷泰利最后的挑战][中]Goonies.2...nes</path>
<name>七宝奇谋2-弗雷泰利最后的挑战[中]</name>
```

补充说明:
1. 中文名称中的英文句点`.`会自动替换为减号`-`
2. 支持任意数量的中括号标记(但建议保持一个标记位)
3. 如果文件名中存在多个中括号,只会提取第一个中文名称和紧随其后的标记

建议在替换前备份原始文件,并用正则表达式测试工具(如Regex101.com)先进行验证。


TOP

发新话题
     
官方公众号及微博