我想构建一个正则表达式,用"per"代替一个句子。当它应该是(带数量的句子的可读版本)。
:
- "3/unit"必须匹配
- "单位/3"必须匹配
- "英尺/second"必须匹配
- "05/07"不能匹配
我知道如何创建类似"D+/D+"的东西。但是我如何构建一个正则表达式来表示"左右表达式不匹配"呢?
?可以使用
^(?![0-9]+/[0-9]+$)[^/]+/[^/]+$
参见regex演示。细节:
^
-字符串 起始(?![0-9]+/[0-9]+$)
-如果有一个或多个数字,/
,一个或多个数字以及当前位置右侧的字符串结束位置,则负向前看,匹配失败[^/]+/[^/]+
-/
以外的一个或多个字符,/
字符,/
以外的一个或多个字符$
-字符串结束