如何使用正则表达式执行此操作?

时间:2021-02-03 10:30:12

标签: regex

我正在尝试创建一个与以下模式匹配的正则表达式代码:

{format:Tx.(string_of_date_format)}

其中 Tx 可以是 T-n T-1 T0 T1 T2 Tn 和 string_of_date_format 可以是任何表示日期格式的字符串,例如 yyyyMMdd 这是我的实现,我不知道为什么它不匹配

{format:^T(-?[0-9]+)([+-][0-9]+)?$[.]([a-zA-Z])}

所以我可以在这个例子中使用它:{format:T2.(yyyyMMdd)}

1 个答案:

答案 0 :(得分:1)

你可以使用

{format:T-?[0-9]+(?:[+-][0-9]+)?\.\([a-zA-Z]+\)}

参见regex demo。详情:

  • {format:T - 文字字符串
  • -? - 一个可选的 -
  • [0-9]+ - 一位或多位数字
  • (?:[+-][0-9]+)? - +- 的可选出现,然后是一个或多个数字
  • \. - 一个点
  • \( - ( 字符
  • [a-zA-Z]+ - 一个或多个字母
  • \)} - )} 子字符串。