正则表达式语法?正则表达式"或"怎么写
大家好,感谢邀请,今天来为大家分享一下正则表达式语法的问题,以及和正则表达式"或"怎么写的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
正则表达式语法是什么
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
例如:
runoo+b,可以匹配runoob、runooob、runoooooob等,+号代表前面的字符必须至少出现一次(1次或多次)。
runoo*b,可以匹配runob、runoob、runoooooob等,*号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。
colou?r可以匹配color或者colour,?问号代表前面的字符最多只可以出现一次(0次、或1次)。
相关信息
构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
正则表达式是由普通字符(例如字符a到z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
正则表达式"或"怎么写
竖线“|”就是或的意思。意思是将两个匹配条件进行逻辑“或”(or)运算。
例如正则表达式(him|her)匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。
而最简单的元字符是点,它能够匹配任何单个字符(注意不包括换行符)。
扩展资料:求值运算:
进行逻辑表达式求值运算,不但要注意逻辑运算符本身的运算规则,而且还必须要遵循下面的两条原则:
1、对逻辑表达式从左到右进行求解。
2、短路原则:在逻辑表达式的求解过程中,任何时候只要逻辑表达式的值已经可以确定,则求解过程不再进行,求解结束。
具体理解逻辑表达式运算规则时可以先找到表达式中优先级最低的逻辑运算符,以这些运算符为准将整个逻辑表达式分为几个计算部分。
从最左边一个计算部分开始,按照算术运算、关系运算和逻辑运算的规则计算该部分的值。每计算完一个部分就与该部分右边紧靠着的逻辑运算符根据真值表进行逻辑值判断。
如果已经能够判断出整个逻辑表达式的值则停止其后的所有计算;只有当整个逻辑表达式的值还不能确定的情况下才进行下一个计算部分的计算。
参考资料来源:百度百科-正则表达式
正则表达式语法和使用(全宇宙最全)
1.正则表达式基本语法
-->
function regx(r,s)
{
if(r== null|| r==""){
return false;
}
var patrn= new RegExp(r);
if(patrn.exec(s))
return true
return false
}
-->
规则表达式 : (填写//之间的表达式)
校验字符串 :
4.正则表达式应用
"^\d+$"//非负整数(正整数+ 0)
"^[0-9]*[1-9][0-9]*$"//正整数
"^((-\d+)|(0+))$"//非正整数(负整数+ 0)
"^-[0-9]*[1-9][0-9]*$"//负整数
"^-?\d+$"//整数
"^\d+(\.\d+)?$"//非负浮点数(正浮点数+ 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"//正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"//非正浮点数(负浮点数+ 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"//负浮点数
"^(-?\d+)(\.\d+)?$"//浮点数
"^[A-Za-z]+$"//由26个英文字母组成的字符串
"^[A-Z]+$"//由26个英文字母的大写组成的字符串
"^[a-z]+$"//由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"//由数字和26个英文字母组成的字符串
"^\w+$"//由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"//email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"//url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ //月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址
^([0-9A-F]{2})(-[0-9A-F]{2}){5}$ //MAC地址的正则表达式
^[-+]?\d+(\.\d+)?$ //值类型正则表达式
5.javascript正则表达式检验
//校验是否全由数字组成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if(!patrn.exec(s)) return false
return true
}
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if(!patrn.exec(s)) return false
return true
}
//校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if(!patrn.exec(s)) return false
return true
}
//校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if(!patrn.exec(s)) return false
return true
}
//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if(!patrn.exec(s)) return false
return true
}
//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if(!patrn.exec(s)) return false
return true
}
//校验邮政编码
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if(!patrn.exec(s)) return false
return true
}
//校验搜索关键字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/;
if(!patrn.exec(s)) return false
return true
}
function isIP(s)//by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if(!patrn.exec(s)) return false
return true
}
/*********************************************************************************
* FUNCTION: isBetween
* PARAMETERS: val AS any value
* lo AS Lower limit to check
* hi AS Higher limit to check
* CALLS: NOTHING
* RETURNS: TRUE if val is between lo and hi both inclusive, otherwise false.
**********************************************************************************/
function isBetween(val, lo, hi){
if((val< lo)||(val> hi)){ return(false);}
else{ return(true);}
}
/*********************************************************************************
* FUNCTION: isDate checks a valid date
* PARAMETERS: theStr AS String
* CALLS: isBetween, isInt
* RETURNS: TRUE if theStr is a valid date otherwise false.
**********************************************************************************/
function isDate(theStr){
var the1st= theStr.indexOf('-');
var the2nd= theStr.lastIndexOf('-');
if(the1st== the2nd){ return(false);}
else{
var y= theStr.substring(0,the1st);
var m= theStr.substring(the1st+1,the2nd);
var d= theStr.substring(the2nd+1,theStr.length);
var maxDays= 31;
if(isInt(m)==false|| isInt(d)==false|| isInt(y)==false){
return(false);}
else if(y.length< 4){ return(false);}
else if(!isBetween(m, 1, 12)){ return(false);}
else if(m==4|| m==6|| m==9|| m==11) maxDays= 30;
else if(m==2){
if(y% 4> 0) maxDays= 28;
else if(y% 100== 0&& y% 400> 0) maxDays= 28;
else maxDays= 29;
}
if(isBetween(d, 1, maxDays)== false){ return(false);}
else{ return(true);}
}
}
/*********************************************************************************
* FUNCTION: isEuDate checks a valid date in British format
* PARAMETERS: theStr AS String
* CALLS: isBetween, isInt
* RETURNS: TRUE if theStr is a valid date otherwise false.
**********************************************************************************/
function isEuDate(theStr){
if(isBetween(theStr.length, 8, 10)== false){ return(false);}
else{
var the1st= theStr.indexOf('/');
var the2nd= theStr.lastIndexOf('/');
if(the1st== the2nd){ return(false);}
else{
var m= theStr.substring(the1st+1,the2nd);
var d= theStr.substring(0,the1st);
var y= theStr.substring(the2nd+1,theStr.length);
var maxDays= 31;
if(isInt(m)==false|| isInt(d)==false|| isInt(y)==false){
return(false);}
else if(y.length< 4){ return(false);}
else if(isBetween(m, 1, 12)== false){ return(false);}
else if(m==4|| m==6|| m==9|| m==11) maxDays= 30;
else if(m==2){
if(y% 4> 0) maxDays= 28;
else if(y% 100== 0&& y% 400> 0) maxDays= 28;
else maxDays= 29;
}
if(isBetween(d, 1, maxDays)== false){ return(false);}
else{ return(true);}
}
}
}
/********************************************************************************
* FUNCTION: Compare Date! Which is the latest!
* PARAMETERS: lessDate,moreDate AS String
* CALLS: isDate,isBetween
* RETURNS: TRUE if lessDate
*********************************************************************************/
function isComdate(lessDate, moreDate)
{
if(!isDate(lessDate)){ return(false);}
if(!isDate(moreDate)){ return(false);}
var less1st= lessDate.indexOf('-');
var less2nd= lessDate.lastIndexOf('-');
var more1st= moreDate.indexOf('-');
var more2nd= moreDate.lastIndexOf('-');
var lessy= lessDate.substring(0,less1st);
var lessm= lessDate.substring(less1st+1,less2nd);
var lessd= lessDate.substring(less2nd+1,lessDate.length);
var morey= moreDate.substring(0,more1st);
var morem= moreDate.substring(more1st+1,more2nd);
var mored= moreDate.substring(more2nd+1,moreDate.length);
var Date1= new Date(lessy,lessm,lessd);
var Date2= new Date(morey,morem,mored);
if(Date1>Date2){ return(false);}
return(true);
}
/*********************************************************************************
* FUNCTION isEmpty checks if the parameter is empty or null
* PARAMETER str AS String
**********************************************************************************/
function isEmpty(str){
if((str==null)||(str.length==0)) return true;
else return(false);
}
/*********************************************************************************
* FUNCTION: isInt
* PARAMETER: theStr AS String
* RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE
* CALLS: isDigit
**********************************************************************************/
function isInt(theStr){
var flag= true;
if(isEmpty(theStr)){ flag=false;}
else
{ for(var i=0; i
if(isDigit(theStr.substring(i,i+1))== false){
flag= false; break;
}
}
}
return(flag);
}
/*********************************************************************************
* FUNCTION: isReal
* PARAMETER: heStr AS String
decLen AS Integer(how many digits after period)
* RETURNS: TRUE if theStr is a float, otherwise FALSE
* CALLS: isInt
**********************************************************************************/
function isReal(theStr, decLen){
var dot1st= theStr.indexOf('.');
var dot2nd= theStr.lastIndexOf('.');
var OK= true;
if(isEmpty(theStr)) return false;
if(dot1st==-1){
if(!isInt(theStr)) return(false);
else return(true);
}
else if(dot1st!= dot2nd) return(false);
else if(dot1st==0) return(false);
else{
var intPart= theStr.substring(0, dot1st);
var decPart= theStr.substring(dot2nd+1);
if(decPart.length> decLen) return(false);
else if(!isInt(intPart)||!isInt(decPart)) return(false);
else if(isEmpty(decPart)) return(false);
else return(true);
}
}
/*********************************************************************************
* FUNCTION: isEmail
* PARAMETER: String(Email Address)
* RETURNS: TRUE if the String is a valid Email address
* FALSE if the passed string is not a valid Email Address
* EMAIL FORMAT: AnyName@EmailServer e.g; webmaster@hotmail.com
*@ sign can appear only once in the email address.
*********************************************************************************/
function isEmail(theStr){
var atIndex= theStr.indexOf('@');
var dotIndex= theStr.indexOf('.', atIndex);
var flag= true;
theSub= theStr.substring(0, dotIndex+1)
if((atIndex< 1)||(atIndex!= theStr.lastIndexOf('@'))||(dotIndex< atIndex+ 2)||(theStr.length<= theSub.length))
{ return(false);}
else{ return(true);}
}
/*********************************************************************************
* FUNCTION: newWindow
* PARAMETERS: doc-> Document to open in the new window
hite-> Height of the new window
wide-> Width of the new window
bars-> 1-Scroll bars= YES 0-Scroll Bars= NO
resize-> 1-Resizable= YES 0-Resizable= NO
* CALLS: NONE
* RETURNS: New window instance
**********************************************************************************/
function newWindow(doc, hite, wide, bars, resize){
var winNew="_blank";
var opt="toolbar=0,location=0,directories=0,status=0,menubar=0,";
opt+=("scrollbars="+bars+",");
opt+=("resizable="+resize+",");
opt+=("width="+wide+",");
opt+=("height="+hite);
winHandle=window.open(doc,winNew,opt);
return;
}
/*********************************************************************************
* FUNCTION: DecimalFormat
* PARAMETERS: paramValue-> Field value
* CALLS: NONE
* RETURNS: Formated string
**********************************************************************************/
function DecimalFormat(paramValue){
var intPart= parseInt(paramValue);
var decPart=parseFloat(paramValue)- intPart;
str="";
if((decPart== 0)||(decPart== null)) str+=(intPart+".00");
else str+=(intPart+ decPart);
return(str);
}
"^\\d+$"//非负整数(正整数+ 0)
"^[0-9]*[1-9][0-9]*$"//正整数
"^((-\\d+)|(0+))$"//非正整数(负整数+ 0)
"^-[0-9]*[1-9][0-9]*$"//负整数
"^-?\\d+$"//整数
"^\\d+(\\.\\d+)?$"//非负浮点数(正浮点数+ 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"//正浮点数
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"//非正浮点数(负浮点数+ 0)
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"//负浮点数
"^(-?\\d+)(\\.\\d+)?$"//浮点数
"^[A-Za-z]+$"//由26个英文字母组成的字符串
"^[A-Z]+$"//由26个英文字母的大写组成的字符串
"^[a-z]+$"//由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"//由数字和26个英文字母组成的字符串
"^\\w+$"//由数字、26个英文字母或者下划线组成的字符串
"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"//email地址
"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"//url
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!