在内部表达式上带有条件的正则表达式



我想构建一个正则表达式,用"per"代替一个句子。当它应该是(带数量的句子的可读版本)。

:

  • "3/unit"必须匹配
  • "单位/3"必须匹配
  • "英尺/second"必须匹配
  • "05/07"不能匹配

我知道如何创建类似"D+/D+"的东西。但是我如何构建一个正则表达式来表示"左右表达式不匹配"呢?

?

可以使用

^(?![0-9]+/[0-9]+$)[^/]+/[^/]+$

参见regex演示。细节:

  • ^-字符串
  • 起始
  • (?![0-9]+/[0-9]+$)-如果有一个或多个数字,/,一个或多个数字以及当前位置右侧的字符串结束位置,则负向前看,匹配失败
  • [^/]+/[^/]+-/以外的一个或多个字符,/字符,/以外的一个或多个字符
  • $-字符串结束

最新更新