我正在寻找一个正则表达式来对合同的章节进行排序。因此,我想将本章编号转换为2位格式";dd.dd.dd
";。章节如下:
1.
1.2.1
...
2.10.4
章节编号:
- 可能有1-3个数字部分
- 每个部分可以有1或2个数字
- 点是可选的
我的方式:
- 正则表达式的第一位数字:"CCD_ 2">
- regex第二位数字:";CCD_ 3">
- 利用CCD_ 4函数提取第三个数字
- 然后,我将这3个部分组装成2位形式(例如
02.10.04
(
问题:
- 我的解决方案似乎不太安全。因为有时在数字部分后面使用点,有时则不然
- 也许有一种更简单的方法可以简单地";格式">
感谢您的支持!
谨致问候,Fabian
您可以在regex模式下尝试以下查找和替换:
Find: (?<=.|^)(d)(?=.|$)
Replace: 0$1
此正则表达式模式将捕获所有由点或字符串的开始/结束夹在两边的个位数路径值。替换在前面加一个前导零,使数字的宽度为2。这是一个演示,显示了逻辑是工作的。