求解一个正则的写法,搞定马上结贴
比较简单,主要就是URL的替换。
当为/下面的任何东西,全部改为/test/下面的任何东西。
我的写法是这样的 /(.*) => /test/(.*)
但是如果是/test的话,用这个正则就变成/test/test了,怎么样把test去除掉?
------解决方案-------------------- <script language=javascript >
var str="/test/(.*)"
var str2="/asd/vbn"
var str3="/fgh/asd/vbn"
var str4="/test123/asd/vbn"
var str5="/test"
var re=/^(\/(?!(test\/|test$)))(.*)/
var result=str.replace(re,"/test$1$3")
alert(result)
var result=str2.replace(re,"/test$1$3")
alert(result)
var result=str3.replace(re,"/test$1$3")
alert(result)
var result=str4.replace(re,"/test$1$3")
alert(result)
var result=str5.replace(re,"/test$1$3")
alert(result)
</script>
------解决方案--------------------JScript code
<script type="text/javascript">
var str="/test/(.*)"
var str2="/asd/vbn"
var str3="/fgh/asd/vbn"
var str4 = "/test123/aa/bb";
var str5 = "/test"
var re=/^(\/(?!test(?:\/| |$)))/
var result=str.replace(re,"/test$1")
alert(result)
var result=str2.replace(re,"/test$1")
alert(result)
var result=str3.replace(re,"/test$1")
alert(result)
var result=str4.replace(re,"/test$1")
alert(result)
var result=str5.replace(re,"/test$1")
alert(result)
</script>