正则表达式问题,请高手指教
我想用正则表达式匹配以下的形式的字符串:
2006 或 2006|2007 或者 2006|2007|2008这样的形式
这样的不符合:
2006| 或 20062007 或2006 2007
我这样写的:(vbscript)
function check(str)
'str为要验证的字符串
'返回值为true 或 false
dim re
set re=new regexp
re.global=true
re.ignorecase=true
re.pattern= "^(20[0-1][0-9]$)(\|20[0-1][0-9]$)* "
check=re.test(str)
set re=nothing
end function
结果不完整,请高手指教
------解决方案-------------------- <%@LANGUAGE= "VBSCRIPT " CODEPAGE= "65001 "%>
<% option explicit %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=utf-8 " />
<title> shawl.qiu template </title>
</head>
<body>
<xmp>
我想用正则表达式匹配以下的形式的字符串:
2006 或 2006|2007 或者 2006|2007|2008这样的形式
这样的不符合:
2006| 或 20062007 或2006 2007
我这样写的:(vbscript)
function check(str)
'str为要验证的字符串
'返回值为true 或 false
dim re
set re=new regexp
re.global=true
re.ignorecase=true
re.pattern= "^(20[0-1][0-9]$)(\|20[0-1][0-9]$)* "
check=re.test(str)
set re=nothing
end function
结果不完整,请高手指教
</xmp>
<%
dim Ptr:Ptr= "^20[0-1][0-9]$|^(20[0-1][0-9]\|)+(20[0-1][0-9])$ "
Response.write( " <li/> "&fReTest(2006,Ptr))
Response.write( " <li/> "&fReTest( "2006|2007 ",Ptr))
Response.write( " <li/> "&fReTest( "2006|2007|2008 ",Ptr))
Response.write( " <li/> "&fReTest(20062007,Ptr))
Response.write( " <li/> "&fReTest( "2006| ",Ptr))
Response.write( " <li/> "&fReTest( "2006 2007 ",Ptr))
private function fReTest(sStr,sPt)
dim re
set re=new RegExp
re.ignoreCase=true
re.pattern=sPt
fReTest=re.test(sStr)
set re=nothing
end function 'fReTest shawl.qiu code '
%>
</body>
</html>