我实际上正在寻找正则表达式。基本上我想匹配以下URL
/test/*/contact/*
我的输入就是这样
/test/1234/contact/abcd ---- This is correct
/test/abcd/1234/contact/abcd --- This should show not match
我尝试使用正则表达式
\/test\/\S+\/contact\/\S+
通过使用上面的exp,它表明两者都是正确的。有人可以帮助我如何排除正斜杠吗?
答案 0 :(得分:1)
\S
模式与/
匹配。您应该依靠[^\/]
否定的字符类并使用定位符:
^\/test\/[^\/]+\/contact\/[^\/]+$
请参见regex demo
详细信息
^
-字符串的开头\/test\/
-/test/
[^\/]+
-除/
以外的1个以上的字符\/contact\/
-/contact/
[^\/]+
-除/
以外的1个以上的字符$
-字符串的结尾。答案 1 :(得分:0)
\S
的意思是“不是\s
的任何东西”。
\s
表示“空白”。等于:[\ r \ n \ t \ f \ v]
-简单的空格因此,\S
包含+ /
。要实现所需的功能,您可以执行类似“除空格或斜杠之外的任何操作”(即[^\/\s]*
)或指定您接受的字符(例如,对于字母数字和-_,它应为:{ {1}}。
如果您有任何问题,请随时提出,