这篇文章是我们编辑整理的关于js的正则表达式。内容很详细,有兴趣的朋友可以参考一下。
//检查是否都是数字。
patrn=/^[0-9]{1,20}$/;如果(!patrn . x(s))return fals return true }
JavaSript表单验证邮件,判断一个输入是否是邮箱邮件,通过正则表达式实现。
//检查邮件信箱
funtin ismail(str){
var rg=/^([a-za-z0-9_-])@([a-za-z0-9 _-])((\。[a-zA-Z0-9_-]{2,3}){1,2 })$/;
返回rg . test(str);
}
//检查登录名:只能输入5-20个以字母开头的字符串,可以包含数字“_”和“.”
funtin isRgistrUsrNam(s)
{
瓦尔patrn=/^[a-za-z]{1}([a-za-z0-9]|[._]){4,19}$/;
如果(!patrn.x(s)) rturn fals返回true }
//验证用户名:只能输入1-30个以字母开头的字符串。
funtin istrunam(s){ var patrn=/^[a-za-z]{1,30}$/;如果(!patrn . x(s))rturn fals return true } } }
//验证密码:只能输入6-20个字母、数字和下划线。
芬廷伊斯帕苏(s){ var patrn=/^(\w){6,20}$/;如果(!patrn.x(s)) rturn fals返回true }
//验证普通电话和传真号码:可以以“”开头,除数字外可以包含“-”。
funtin istl(s){//var patrn=/^[]{ 0,1}(\){1,3}[ ]?([-]?(\){1,12}) $/;var patrn=/^[ ]{0,1}(\){1,3}[ ]?([-]?((\)|[ ]){1,12}) $/;如果(!patrn.x(s)) return fals返回true
}
//验证手机号码:必须以数字开头,除数字外还可以包含“-”。
funt in ism bil(s){ var patrn=/^[]{ 0,1}(\){1,3}[ ]?([-]?((\)|[ ]){1,12}) $/;如果(!patrn . x(s))return fals return true }
//检查邮政编码
funtin isPstal(s)
{//var patrn=/^[a-za-z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12 } $/;
如果(!patrn.x(s))
return fals返回true }
//验证搜索关键字
funtin isSarh(s) {
var patrn=/^[^`~!@#$%^*()=|\\\][\]\{\}:'\,/?]{1}[^`~!@$%^()=|\\\] [\]\{\}:'\,]{0,19}$/;如果(!patrn . x(s))rturn fals rturn tru } funtin isIP(s)//通过zrgling
{
瓦尔patrn=/^[0-9.]{1,20}$/;
如果(!patrn.x(s))
返回fals返回true
}
正则表达式
'^\\ $'
//非负整数(正整数0)
'^[0-9]*[1-9][0-9]*$'
//正整数'((-\ \) | (0)) $ '
//非正整数(负整数0)
'^-[0-9]*[1-9][0-9]*$'
//负整数'-?\\ $'
//Integer' \ \ (\ \。\ \)?$'
//非负浮点数(正浮点数0)
'^(([0-9] \\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9] )|([0-9]*[1-9][0-9]*))$'
//正浮点数'((-\ \ (\ \。\ \))?)|(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]*)))$'
//负浮点数
'^(-?\\ )(\\.\\ )?$'
//浮点数“[a-za-z] $”
//由26个英文字母组成的字符串
'^[A-Z] $ '
//由26个大写英文字母组成的字符串
'^[a-z] $ '
//由26个小写英文字母组成的字符串
'^[A-Za-z0-9] $ '
//由数字和26个英文字母组成的字符串
'^\\w美元'
//由数字、26个英文字母或下划线组成的字符串
'^[\\w-] (\\。[\\w-] )*@[\\w-] (\\。[\\w-] ) $ '
//邮件地址
'^[a-zA-z] ://(\\w (-\\w )*)(\\。(\ \ w(-\ \ w)*)*(\ \?\\S*)?$'
//url '^[A-Za-z0-9_]*$'
正则表达式使用的详细说明
简介
简单地说,正则表达式是一个强大的工具,可用于模式匹配和替换。其职能如下:
测试字符串的模式。
例如,您可以测试一个输入字符串,查看该字符串中是否有电话号码模式或信用卡号码模式。
这称为数据验证。
替换文本。您可以使用正则表达式来标识文档中的特定单词,然后删除所有单词或用其他单词替换它们。
根据模式匹配从字符串中提取子串。可用于在文本或输入字段中查找特定文本。
基本语法
在对正则表达式的作用和功能有了初步的了解之后,我们来具体看一下正则表达式的语法格式。
正则表达式的形式通常如下:
/lv/
“/”分隔符之间的部分是要在目标对象中匹配的模式。用户只需要把要查找的匹配对象的模式内容放在“/”分隔符之间。为了让用户更灵活地定制模式内容,正则表达式提供了特殊的“元字符”。元字符是正则表达式中具有特殊含义的特殊字符,可用于指定其前导字符(即元字符前面的字符)在目标对象中的出现模式。
常见的元字符包括""、" * "和"?"。
元字符“”指定其前导字符必须在目标对象中出现一次或多次。
元字符“*”指定其前导字符必须在目标对象中连续出现零次或多次。
"?"元字符指定其前导对象必须在目标对象的一行中出现零次或一次。
现在,我们来看看正则表达式元字符的具体应用。
/f/因为上面的正则表达式包含了元字符"",这就意味着它可以与连续出现在字母f后面一个或多个字母的目标对象中的字符串“fl”、“f”或“ftball”相匹配。
/g*/因为上面的正则表达式包含元字符“*”,这意味着它可以与目标对象中的“ASY”、“G”或“gg”等字符串匹配,这些字符串在字母后面有零个或多个字母G。
/Wil?/因为上面的正则表达式包含“?”元字符,这意味着它可以与目标对象中的字符串“Win”或“Wilsn”匹配,等等。其中零个或一个字母L连续出现在字母I之后。
有时候不知道要匹配多少字符。为了适应这种不确定性,正则表达式支持限定词的概念。这些限定符可以指定正则表达式的给定组件必须出现多少次才能满足匹配。
{n} n是一个非负整数。n次匹配。例如,“{2}”不能匹配“Bb”中的“”,但可以匹配“f”中的两个。
{n,} n为非负整数。至少匹配n次。例如,“{2,}”不能匹配“Bb”中的“”,但可以匹配“f”中的all。“{1,}”等效于“”。“{0,}”等效于“*”。
{n,m} m和n都是非负整数,其中n=m,至少匹配n次,最多匹配m次。例如,“{1,3}”将匹配“f”中的前三个。“{0,1}”等效于“?请注意,逗号和两个数字之间不能有空格。
除了元字符之外,用户可以精确地指定模式在匹配对象中出现的频率。比如/jim {2,6}/上面的正则表达式规定字符m在匹配对象中可以连续出现2-6次,所以上面的正则表达式可以匹配jimmy或Jimmy jimmmmmy等字符串。
在初步了解了如何使用正则表达式之后,让我们来看看其他几个重要元字符的用法。
\s:用于匹配单个空格字符,包括tab键和换行符。\S:用于匹配除单个空格字符以外的所有字符;\:用于匹配从0到9的数字;\w:用于匹配字母、数字或下划线字符。\W:用于匹配所有不匹配的字符\ W;用于匹配除换行符以外的所有字符。
(注:我们可以把\s和\S和\w和\W看作互逆运算)
让我们通过例子来看看如何在正则表达式中使用上述元字符。
/\ s/上述正则表达式可用于匹配目标对象中的一个或多个空格字符。
/\000/如果我们手中有一份复杂的财务报表,那么通过上面的正则表达式,我们可以很容易地找到所有高达数千美元的总和。
除了上面介绍的元字符,正则表达式中还有另一个独特的特殊字符,即locator。Locator用于指定匹配模式在目标对象中的位置。常用的定位符有“”、“$”、“\B”和“\ b”。
Locator " "指定匹配模式必须出现在目标字符串的开头。定位符“$”指定匹配模式必须出现在目标字符串的末尾。locator“\ b”指定匹配对象必须位于目标字符串的开头和结尾,即匹配对象既不能是目标字符串的开头,也不能是目标字符串的结尾。
同样,我们也可以把“”和$”和“\b”和“\B”看作是互逆运算的两组定位符。例如:/hll/因为上面的正则表达式包含" " locator,所以可以匹配目标对象中以" hll "、" hll "或" hllhun "开头的字符串。/ar$/因为上面的正则表达式包含了“$”定位符,所以可以匹配目标对象中以“ar”、“bar”或“ar”结尾的字符串。/\bbm/由于上面的正则表达式模式以“\ b”locator开头,所以可以在目标对象中匹配到以“bmb”或“bm”开头的字符串。/man\b/因为上面的正则表达式模式以“\ b”locator结尾,所以可以匹配目标对象中以“human”、“wman”或“man”结尾的字符串。
为了方便用户更灵活地设置匹配模式,正则表达式允许用户在匹配模式中指定一定的范围,而不是局限于特定的字符。例如:
/[a-z]/上面的正则表达式将匹配A到Z范围内的任何大写字母,/[A-Z]/上面的正则表达式将匹配A到Z范围内的任何小写字母,/[0-9]/上面的正则表达式将匹配0到9范围内的任何数字。/([A-Z][A-Z][0-9])/上面的正则表达式将匹配任何由字母和数字组成的字符串,比如“aB0”。
这里要提醒用户的一点是,可以在正则表达式中使用“()”来组合字符串。()"符号中包含的内容必须同时出现在目标对象中。因此,上面的正则表达式不会匹配“ab”这样的字符串,因为“ab”中的最后一个字符是字母而不是数字。
如果我们想在正则表达式中实现OR操作,我们可以使用管道符号“|”,这类似于编程逻辑中的OR操作,并在几种不同模式中的任何一种模式中进行匹配。例如:/t|t|2/上述正则表达式将匹配目标对象中的“t”、“t”或“2”。
正则表达式中还有一个常见的运算符,就是负号“]”。与我们前面介绍的定位器“”不同,负符号“[]”规定模式中指定的字符串不能存在于目标对象中。例如:/[A-]/上述字符串将匹配目标对象中除A、B和之外的任何字符。一般来说,当“”出现在“”中时,视为否定算子;当“”在“”之外或没有“”时,应视为定位符。
最后,当用户需要向正则表达式的模式中添加元字符并找到它们的匹配对象时,可以使用转义符“\”。例如:/Th\*/上面的正则表达式将匹配目标对象中的“Th*”而不是“Th”。
正则表达式构造完成后,可以像数学表达式一样进行求值,即可以按照优先级顺序从左到右进行求值。优先级如下:
1.\转义字符2。(), (?), (?=),圆括号和方括号3。*,{n},{n,},{n,m}限定符4。$,\ anymtaharatr位置和序列5。|或运算
使用实例
JavaSript 1.2中有一个强大的Rgxp()对象,可以用来匹配正则表达式。tst()方法可以检查目标对象是否包含匹配的模式,并相应地返回tru或fals。
我们可以使用JavaSript编写以下脚本来验证用户输入的电子邮件地址的有效性。
正则表达式对象
该对象包含正则表达式模式和指示如何应用这些模式的标志。
1r=/pattern/[flags]语法2r=NW Rgxp(' pattern ',['flags'])
参数
r
需要选项。要指定为正则表达式模式的变量名。
模式
需要选项。要使用的正则表达式模式。如果使用语法1,请用“/”字符分隔模式。如果你使用语法2,用引号将模式括起来。
旗帜
可选。如果使用语法2,标志应该用引号括起来。标志可以组合使用。可用的有:
g(对所有模式进行全文搜索)I(忽略大小写)M(多行搜索)
例子
以下示例创建一个包含正则表达式模式和相关标志的对象(r ),向您展示正则表达式对象的用法。在本例中,生成的正则表达式
对象也用于数学方法:
funtin Mathm() { var r,r;//声明变量。西班牙的雨主要落在平原上;r=nw Rgxp('ain ',' g ');//创建正则表达式对象。r=s . math(r);//在字符串S. rturn(r)中查找匹配项;}
返回值:ain,ain,ain,ain\\
属性lastInx属性| sur属性\ \
方法mpil方法| x方法| tst方法\ \
需要版本3 \ \
请参阅Rgxp对象|正则表达式语法|字符串对象\ \
x方法
在正则表达式模式下搜索字符串,并返回包含搜索结果的数组。
rgxp.x(str)
参数
rgxp
需要选项。包含正则表达式模式和可用标志的正则表达式对象。
潜艇用热中子反应堆(submarine thermal reactor的缩写)
需要选项。要在其中执行查找的字符串对象或字符串文字。
描述\ \
如果x方法没有找到匹配项,则返回null。如果找到匹配,X方法返回一个数组,并更新全局Rgxp对象的属性以反映匹配结果。数组的0元素包含一个完全匹配,而第1到第n个元素包含匹配中出现的所有子匹配。这相当于没有设置全局标志(G)的math方法。
如果为正则表达式设置了全局标志,x将从lastInx的值所指示的位置开始搜索。如果没有设置全局标志,x会忽略lastInx的值,并从字符串的开头开始搜索。
x方法返回的数组有三个属性,分别是input、inx和lastInx。输入属性包含整个搜索字符串。Inx属性包含匹配的子字符串在整个搜索字符串中的位置。LastInx属性包含匹配中最后一个字符的下一个位置。
示例\ \
以下示例说明了X方法的用法:
funtin RgxpTst(){ var VR=Numbr(SriptnginMajrVrsin()','SriptnginMinrVrsin())if(VR=5.5){
//测试JSript的版本。
西班牙的雨水主要落在平原上。var r=/\ w/g;
//创建正则表达式模式。
var arrwhil ((arr=r.x(sr))!=null)umnt . writ(arr . inx '-' arr . last inx arr ' \ t ');} ls{ alrt('请使用JSript的更新版本');} }
返回值:0-3th 4-8 rain 9-11in 12-17 Spain 18-23 falls 24-30 minly 31-33 in 34-37th 38-43 plain
Tst方法
\ \返回一个Blan值,该值指示在搜索的字符串中是否有模式。
rgxp.tst(str)
参数\ \
rgxp
需要选项。包含正则表达式模式或可用标志的正则表达式对象。
潜艇用热中子反应堆(submarine thermal reactor的缩写)
需要选项。用于测试查找的字符串。
解释
ts方法检查字符串中是否有模式,如果有则返回tru,否则返回fals。
tst方法不会修改全局Rgxp对象的属性。
例子
下面的例子说明了tst方法的使用:
funtin Tstm(r,s){ var S1;//声明变量。
//检查字符串中的正则表达式。
if (r.tst(s))
//测试它是否存在。
s1=' ntains
//s包含模式。ls s1=' s nt ntain
//s不包含模式。rturn(' ' ' s ' ' ' S1 ' ' ' r . sur ' ');
//返回一个字符串。}
函数调用:umnt.write (tstm (/ain/,'西班牙的雨主要落在平原上。'));
返回值:“西班牙的雨主要落在平原上。”“不是”
数学方法
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。
\\stringbj.math(rgxp)
参数
\\stringbj是必需的。要查找的字符串对象或字符串文字。
rgxp
需要选项。是包含正则表达式模式和可用标志的正则表达式对象。它也可以是包含正则表达式模式和可用标志的变量名或字符串文字。
解释
\ \如果math方法找不到匹配项,则返回null。如果找到匹配项,则返回一个数组,并更新全局Rgxp对象的属性以反映匹配结果。
math方法返回的数组有三个属性:input、inx和lastInx。输入属性包含整个搜索字符串。Inx属性包含匹配整个搜索字符串的子字符串的位置。LastInx属性包含最后一个匹配项中最后一个字符的下一个位置。
如果没有设置全局标志(g ),数组的0元素包含整个匹配,而第1到第n元素包含匹配中出现过的任何子匹配。这相当于没有设置全局标志的X方法。如果设置了全局标志,元素0到n包含所有匹配。
示例\
\下面的示例演示了math方法的用法:
funtin Mathm() { var r,r;//声明变量。
西班牙的雨主要落在平原上;r=/ain/I;//创建正则表达式模式。r=s . math(r);
//尝试匹配搜索字符串。rturn(r);
//返回第一次出现的“ain”。}
返回值:ain
这个例子说明了设置了G标志的math方法的使用。
funtin Mathm() { var r,r;//声明变量。
西班牙的雨主要落在平原上;r=/ain/ig;
//创建正则表达式模式。r=s . math(r);
//尝试匹配搜索字符串。rturn(r);
//返回的数组包含“ain”//的所有四个匹配项。}
返回值:ain,ain,ain,ain
上面几行代码演示了字符串文字的数学方法的使用。
var r,r='西班牙';西班牙的雨。rpla(r,' anaa ');return r;
返回值:anaa的Th rain
Sarh方法
返回与正则表达式查找的内容相匹配的第一个子字符串的位置。
stringbj.sarh(rgxp)
参数
\\stringbj
需要选项。要查找的字符串对象或字符串文字。
rgxp
需要选项。包含正则表达式模式和可用标志的正则表达式对象。
解释
Sarh方法指示是否有相应的匹配。如果找到匹配项,sarh方法将返回一个整数值,指示从字符串开头的偏移位置。如果没有找到匹配,则返回-1。
示例\ \
下面的示例演示了sarh方法的用法。
funtin Sarhm() { var r,r;//声明变量。
西班牙的雨水主要落在平原上。r=/falls/I;//创建正则表达式模式。
r=s . sarh(r);//找到字符串。rturn(r);//返回Blan结果。
}
返回值:18
正则表达式语法
正则表达式是由普通字符(如字符A到Z)和特殊字符(称为元字符)组成的文本模式。该模式描述了在查找文本正文时要匹配的一个或多个字符串。正则表达式用作模板,将字符模式与搜索的字符串进行匹配。
以下是您可能会遇到的一些正则表达式示例:
JS VBScript match/\[\ t]* $/' \[\ t]* $ '匹配一个空行。/\{2}-\{5}/'\{2}-\{5} '验证I号是否由一个2位数、一个连字符和一个5位数组成。/(.*).*\/\1/'(.*).*\/\1 '匹配一个HTML标记。
下表是元字符及其在正则表达式上下文中的行为的完整列表:
字符 描述
\将下一个字符标记为特殊字符、原义字符、向后引用或八进制转义字符。例如,“n”匹配字符“n”。\n '匹配一个换行符。序列“\ \”匹配“”,而“\(”匹配“(”)。
匹配输入字符串的起始位置。如果设置了Rgxp对象的Multilin属性,它也匹配' \n '或' \r '之后的位置。
$匹配输入字符串的结束位置。如果设置了Rgxp对象的Multilin属性,$也匹配“\n”或“\r”之前的位置。
*匹配前一个子表达式零次或多次。比如z*可以匹配‘z’和‘z’。*相当于{0,}。
匹配前一个子表达式一次或多次。比如‘z’可以匹配‘z’和‘z’,但不能匹配‘z’。相当于{1,}。
?匹配前一个子表达式零次或一次。例如,'(s)?'可以匹配“”或“s”中的“”。相当于{0,1}。
{n} n是一个非负整数。n次匹配。例如,“{2}”不能匹配“Bb”中的“”,但可以匹配“f”中的两个。
{n,} n为非负整数。至少匹配n次。例如,“{2,}”不能匹配“Bb”中的“”,但可以匹配“f”中的all。“{1,}”等效于“”。“{0,}”等效于“*”。
{n,m} m和n都是非负整数,其中n=m,至少匹配n次,最多匹配m次。刘,' {1,3} '将匹配' f '中的前三个。“{0,1}”等效于“?请注意,逗号和两个数字之间不能有空格。
?当该字符跟在任何其他限定符(*,{n}、{n}、{n,m}),匹配模式不贪心。非贪婪模式尽可能少地匹配搜索到的字符串,而默认贪婪模式尽可能多地匹配搜索到的字符串。例如,对于字符串'','?'将匹配单个“”,而“”将匹配所有“”。匹配除' \n '以外的任何单个字符。若要匹配包括“\n”在内的任何字符,请使用类似“[。\n]'。
匹配模式并得到这个匹配。获得的匹配可以从生成的SubMaths集合中获得,该集合在VBSript和JSript中的$0…$9属性中使用。若要匹配括号字符,请使用“\(”或“\)”。
(?pattrn)匹配了pattrn但没有得到匹配结果,也就是说,它是一个非获取匹配,不会被存储以备后用。当使用“或”字符(|)来组合模式的各个部分时,这很有用。比如inustr(?y|is)是比“inustry|inustris”更短的表达式。
(?=pattrn)期望在匹配pattern的任何字符串的开头匹配搜索字符串。这是一个非获取匹配,即这个匹配不需要被获取以备后用。比如Winws(?=95|98|NT|2000)'可以匹配' Winws 2000 '中的' Winws ',但不能匹配' Winws 3.1 '中的' Winws '。预搜索不消耗字符,也就是说,一个匹配发生后,紧接着上一个匹配开始下一个匹配的搜索,而不是在包含预搜索的字符后开始。
(?Pattrn)负预览,匹配搜索字符串在任何字符串的开头,不匹配ngativ lk aha math th sarh字符串在任何品脱WHR a string nt math pat trn。这是一个非获取匹配,即这个匹配不需要被获取以备后用。例如Winws(?95|98|NT|2000)”可以匹配“Winws 3.1”中的“Winws”,但不能匹配“Winws 2000”中的“Winws”。预搜索不消耗字符,也就是说,一个匹配发生后,紧接着上一个匹配开始下一个匹配的搜索,而不是在包含预搜索的字符后开始。
X|y匹配x或Y.比如‘z | f’可以匹配‘z’或者‘f’。' z|f '匹配' z '或' f '。
[xyz]字符集。匹配任何包含的字符。例如,'[ab]'可以匹配' plain '中的' a '。
[XYZ]负字符集。匹配任何未包含的字符。例如,'[ab]'可以匹配' plain '中的' p '。
[a-z]字符范围。匹配指定范围内的任何字符。例如,'[a-z]'可以匹配' a '到' z '范围内的任何小写字母字符。
[a-z]负字符范围。匹配不在指定范围内的任何字符。例如,'[a-z]'可以匹配不在' a '到' z '范围内的任何字符。
\b匹配单词边界,即单词和空格之间的位置。例如,“r\b”可以匹配“nvr”中的“r”,但不能匹配“vrb”中的“r”。
\B匹配非单词边界。“R\B”可以匹配“vrb”中的“r ”,但不能匹配“nvr”中的“r”。
\x匹配由X表示的控制字符.例如,\M匹配ntrl-M或回车。x的值必须是a-z或A-Z之一.否则,它将被视为文字“”字符。
\匹配一个数字字符。相当于[0-9]。
\匹配非数字字符。相当于[0-9]。
\f匹配分页符。相当于\x0和\ l。
\n匹配一个换行符。相当于\x0a和\ j。
\r匹配回车。相当于\x0和\ m。
\s匹配任何空白字符,包括空格、制表符、分页符等。相当于[\f\n\r\t\v]。
\S匹配任何非空白字符。相当于[\ f \ n \ r \ t \ v]。
\ t匹配选项卡。相当于\x09和\ i。
\v匹配垂直制表符。相当于\x0b和\ k。
\w匹配任何单词字符,包括下划线。相当于“[A-Za-z0-9_]”。
\W匹配任何非单词字符。相当于“[a-za-z0-9 _]”。
\xn匹配n,其中n是十六进制转义值。十六进制转义值的长度必须是两位数。例如,“a”与“a”匹配。\x041 '等效于' \x04' '1 '。ASII编码可用于正则表达式。
\num匹配num,其中num是正整数。对获得的匹配的引用。比如说,'(。)\1”匹配两个连续的相同字符。
\n标识八进制转义值或向后引用。如果之前至少获得了n个子表达式,则n是向后引用。否则,如果n是一个八进制数(0-7),那么n就是一个八进制转义值。
\nm标识八进制转义值或向后引用。如果在nm之前至少有is pr by at last nm子表达式,则nm是向后引用。如果在\nm之前至少有n次提取,则n是一个后向引用,后面跟一个字m,如果不满足前面的条件,如果n和m都是八进制数(0-7),\nm将匹配八进制转义值nm。
\nml如果n是八进制数(0-3),并且m和l都是八进制数(0-7),则它匹配八进制转义值nml。
\un匹配n,其中n是由四个十六进制数字表示的Uni字符。例如\u00A9匹配版权符号(?)。
优先权顺序
正则表达式构造完成后,可以像数学表达式一样进行求值,即可以按照优先级顺序从左到右进行求值。
下表列出了各种正则表达式运算符的优先级顺序,从最高优先级到最低优先级:
运算符描述\转义符(),(?), (?=),圆括号和方括号*,{n}、{n}、{n,m}限定符^、$、\ anymtaharatr位置和顺序| OR操作
普通字符
普通字符由所有未明确指定为元字符的打印和非打印字符组成。这包括所有大写和小写字母字符、所有数字、所有标点符号和一些符号。
最简单的正则表达式是单个普通字符,可以在搜索的字符串中匹配字符本身。例如,单字符模式“a”可以匹配搜索字符串中任何位置的字母“a”。以下是一些单字符正则表达式模式的示例:
/a//7//M/
等效的VBSript单字符正则表达式为:
一米七
您可以组合多个单个字符来获得更大的表达式。例如,下面的JSript正则表达式只不过是通过组合单字符表达式“a”、“7”和“m”而创建的表达式。
/a7M/
等效的VBSript表达式为:
一米七
注意,这里没有连接操作符。你需要做的就是一个接一个地输入字符。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。