正则表达式从合同章节编号中获取"sortable"章节



我正在寻找一个正则表达式来对合同的章节进行排序。因此,我想将本章编号转换为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。这是一个演示,显示了逻辑是工作的。

最新更新