您现在的位置是:首页» windows系统» 正则表达式表示的语言是正则语言,一个词的正则表达式

正则表达式表示的语言是正则语言,一个词的正则表达式

2023-12-05 09:11:45
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家! 竖线“|”就是或的意思。意思是将两个匹配条件进行逻辑“或”(or)运算。例如正则表达式(him|her)匹配"it belongs to him"和"it belongs to her

今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!

竖线“|”就是或的意思。意思是将两个匹配条件进行逻辑“或”(or)运算。

例如正则表达式(him|her)匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。

而最简单的元字符是点,它能够匹配任何单个字符(注意不包括换行符)。

进行逻辑表达式求值运算,不但要注意逻辑运算符本身的运算规则,而且还必须要遵循下面的两条原则:

1、对逻辑表达式从左到右进行求解。

2、短路原则:在逻辑表达式的求解过程中,任何时候只要逻辑表达式的值已经可以确定,则求解过程不再进行,求解结束。

具体理解逻辑表达式运算规则时可以先找到表达式中优先级最低的逻辑运算符,以这些运算符为准将整个逻辑表达式分为几个计算部分。

从最左边一个计算部分开始,按照算术运算、关系运算和逻辑运算的规则计算该部分的值。每计算完一个部分就与该部分右边紧靠着的逻辑运算符根据真值表进行逻辑值判断。

如果已经能够判断出整个逻辑表达式的值则停止其后的所有计算;只有当整个逻辑表达式的值还不能确定的情况下才进行下一个计算部分的计算。

参考资料来源:百度百科-正则表达式

规则表达式 : (填写//之间的表达式)

"^\d+$"//非负整数(正整数+ 0)

"^((-\d+)|(0+))$"//非正整数(负整数+ 0)

"^-[0-9]*[1-9][0-9]*$"//负整数

"^\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+)?$ //值类型正则表达式

if(!patrn.exec(s)) return false

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串

function isRegisterUserName(s)

var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;

if(!patrn.exec(s)) return false

//校验用户姓名:只能输入1-30个以字母开头的字串

var patrn=/^[a-zA-Z]{1,30}$/;

if(!patrn.exec(s)) return false

//校验密码:只能输入6-20个字母、数字、下划线

var patrn=/^(\w){6,20}$/;

if(!patrn.exec(s)) return false

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”

//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

//校验手机号码:必须以数字开头,除数字外,可含有“-”

var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

if(!patrn.exec(s)) return false

//var patrn=/^[a-zA-Z0-9]{3,12}$/;

var patrn=/^[a-zA-Z0-9 ]{3,12}$/;

if(!patrn.exec(s)) return false

var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/;

if(!patrn.exec(s)) return false

function isIP(s)//by zergling

if(!patrn.exec(s)) return false

/*********************************************************************************

* PARAMETERS: val AS any value

* 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);}

/*********************************************************************************

* FUNCTION: isDate checks a valid date

* PARAMETERS: theStr AS String

* RETURNS: TRUE if theStr is a valid date otherwise false.

**********************************************************************************/

var the1st= theStr.indexOf('-');

var the2nd= theStr.lastIndexOf('-');

if(the1st== the2nd){ return(false);}

var y= theStr.substring(0,the1st);

var m= theStr.substring(the1st+1,the2nd);

var d= theStr.substring(the2nd+1,theStr.length);

if(isInt(m)==false|| isInt(d)==false|| isInt(y)==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(y% 100== 0&& y% 400> 0) maxDays= 28;

if(isBetween(d, 1, maxDays)== false){ return(false);}

/*********************************************************************************

* FUNCTION: isEuDate checks a valid date in British format

* PARAMETERS: theStr AS String

* RETURNS: TRUE if theStr is a valid date otherwise false.

**********************************************************************************/

if(isBetween(theStr.length, 8, 10)== false){ return(false);}

var the1st= theStr.indexOf('/');

var the2nd= theStr.lastIndexOf('/');

if(the1st== the2nd){ return(false);}

var m= theStr.substring(the1st+1,the2nd);

var d= theStr.substring(0,the1st);

var y= theStr.substring(the2nd+1,theStr.length);

if(isInt(m)==false|| isInt(d)==false|| isInt(y)==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(y% 100== 0&& y% 400> 0) maxDays= 28;

if(isBetween(d, 1, maxDays)== false){ return(false);}

/********************************************************************************

* FUNCTION: Compare Date! Which is the latest!

* PARAMETERS: lessDate,moreDate AS String

*********************************************************************************/

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);}

/*********************************************************************************

* FUNCTION isEmpty checks if the parameter is empty or null

**********************************************************************************/

if((str==null)||(str.length==0)) return true;

/*********************************************************************************

* RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE

**********************************************************************************/

if(isEmpty(theStr)){ flag=false;}

if(isDigit(theStr.substring(i,i+1))== false){

/*********************************************************************************

decLen AS Integer(how many digits after period)

* RETURNS: TRUE if theStr is a float, otherwise FALSE

**********************************************************************************/

function isReal(theStr, decLen){

var dot1st= theStr.indexOf('.');

var dot2nd= theStr.lastIndexOf('.');

if(isEmpty(theStr)) return false;

if(!isInt(theStr)) return(false);

else if(dot1st!= dot2nd) return(false);

else if(dot1st==0) return(false);

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);

/*********************************************************************************

* 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.

*********************************************************************************/

var atIndex= theStr.indexOf('@');

var dotIndex= theStr.indexOf('.', atIndex);

theSub= theStr.substring(0, dotIndex+1)

if((atIndex< 1)||(atIndex!= theStr.lastIndexOf('@'))||(dotIndex< atIndex+ 2)||(theStr.length<= theSub.length))

/*********************************************************************************

* 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

* RETURNS: New window instance

**********************************************************************************/

function newWindow(doc, hite, wide, bars, resize){

var opt="toolbar=0,location=0,directories=0,status=0,menubar=0,";

opt+=("scrollbars="+bars+",");

opt+=("resizable="+resize+",");

winHandle=window.open(doc,winNew,opt);

/*********************************************************************************

* PARAMETERS: paramValue-> Field value

**********************************************************************************/

function DecimalFormat(paramValue){

var intPart= parseInt(paramValue);

var decPart=parseFloat(paramValue)- intPart;

if((decPart== 0)||(decPart== null)) str+=(intPart+".00");

else str+=(intPart+ decPart);

"^\\d+$"//非负整数(正整数+ 0)

"^((-\\d+)|(0+))$"//非正整数(负整数+ 0)

"^-[0-9]*[1-9][0-9]*$"//负整数

"^\\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

wwW.Xtw.Com.cN系统网专业的PC、手机系统开发下载平台,HarmonyOS系统、安卓、OS、windows电脑重装系统在线下载安装,操作系统平台技术学习,攻略教程,技术交流。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com