Regex:获取所有实例和变体

  • 本文关键字:实例 获取 Regex regex
  • 更新时间 :
  • 英文 :


所以,我试图得到这些不同的场景:

  1. 内带数字的方括号,例如[1]或[1111]或[1.2]
  2. 数字1(上面)后面跟着冒号,例如[1]:或[1111]:
  3. 数字2(上面)后面跟着任意长度的数字,例如[111]:123
  4. 3(上面)后跟空格,然后是数字,例如[111]:27

测试字符串:

time sheets..."[8]: 27  The ending sm testing [21] [2222] [22], [222]:22:

我想用空字符串

替换所有匹配结果:

time sheets..."  The ending sm testing , :

我当前的模式:

[(.*?)](?::?|:[0-9]+?)

可以使用

[(d+(?:.d+)?)]:?(?:s*(d+(?:.d+)?))?

参见regex演示。

细节:

  • [- a[char
  • (d+(?:.d+)?)-组1:整型或浮点数
  • ]- a]char
  • :?-一个可选的:字符
  • (?:s*(d+(?:.d+)?))?-一个可选的序列
    • s*-零或多个空白
    • (d+(?:.d+)?)-组2:整型或浮点数

注意:如果最后一个数字只能出现在:之后,你需要稍微修改一下上面的regex:

[(d+(?:.d+)?)](?::(?:s*(d+(?:.d+)?))?)?

其中:?(...)?部分转换为(:(...)?)?

参见regex演示。

最新更新