您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 正则表达式 >

正则表达式([^0-9]g)中的g是什么意思 ?????

发布时间:2019-07-13 23:47 来源:未知 编辑:admin

  要想限制输入数字的位数,应该在什么地方 加什么语句??????????????????????????????????

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  不加入/g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。相当于下图中的全局搜素。

  正则表达式描述了一种字符串匹配的模式,由三部分组成,字符类、数量限定符、位置限定符。

  字符类:他们在模式中表示一个字符,但是取值范围是一类字符中的任意一个。常见的有:. 表示匹配任意一个字符。[]匹配括号中任意字符。- 在[]中使用表示范围。^ 括号内使用,表示匹配除括号中字符外的字符。

  数量限定符:表示可以有一个或多个x字符。常见的有:?表示匹配零次或一次。+ 匹配一次或多次。* 匹配零次或多次。

  位置限定符:描述各种字符类以及普通字符之间的位置关系。常用的有:^ 匹配行首位置。$匹配行末位置。

  正则表达式加上参数g之后,表明可以进行全局匹配。此外对于不同的对象方法,/g的含义有所不同,下面给出简要介绍:

  (1)对于表达式对象的exec方法,不加入g,则只返回第一个匹配;如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。对于exec方法,表达式加入了g,并不是说执行exec方法就可以返回所有的匹配,而是说加入了g之后,可以通过某种方式得到所有的匹配,这里的“方式”对于exec而言,就是依次执行这个方法即可。

  (3)对于String对象的match方法,不加入g,也只是返回第一个匹配,一直执行match方法也总是返回第一个匹配,加入g,则一次返回所有的匹配(注意这与表达式对象的exec方法不同,对于exec而言,表达式即使加上了g,也不会一次返回所有的匹配)。

  (4)对于String对象的replace方法,表达式不加入g,则只替换第一个匹配,如果加入g,则替换所有匹配。

  ① g:全局匹配。不加g默认为非全局匹配,只匹配第一个符合要求的字符串。

  表达式加上参数g之后,表明可以进行全局匹配,注意这里“可以”的含义。对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此。

  如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。例如

  通过这个例子说明:对于exec方法,表达式加入了g,并不是说执行exec方法就可以返回所有的匹配,而是说加入了g之后,我可以通过某种方式得到所有的匹配,这里的“方式”对于exec而言,就是依次执行这个方法即可。

  对于表达式对象的test方法,加入g于不加上g没有什么区别。对于String对象的match方法,不加入g,也只是返回第一个匹配。

  一直执行match方法也总是返回第一个匹配,加入g,则一次返回所有的匹配(注意这与表达式对象的exec方法不同,对于exec而言,表达式即使加上了g,也不会一次返回所有的匹配)。

  3,对于String对象的replace方法,表达式不加入g,则只替换第一个匹配,如果加入g,则替换所有匹配。(开头的三道测试题能很好的说明这一点) ,对于String对象的split方法,加上g与不加g是一样的,即:

  1,\:将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。

  2,^:匹配输入字行首。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。

  3,$:匹配输入行尾。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。

  4,*:匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。

  5,+:匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}

  6,{n,}:n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。

  7,(pattern):匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“\(”或“\)”。

  8,xy:匹配x或y。例如,“zfood”能匹配“z”或“food”(此处请谨慎)。“[zf]ood”则匹配“zood”或“food”。

  9,[xyz]:字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。

  10,[^xyz]:负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“plin”任一字符。

  11,[a-z]:字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。

  12,[^a-z]:负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。

  13,\B:匹配非单词边界。“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。

  14,\cx:匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。

  意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。

  例如:/b/匹配字符’b’,通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示

  对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释。

  例如:*是一个特殊字符,匹配任意个字符(包括0个字符);例如:/a*/意味匹配0个或多个a。为了匹配字面上的*,在a前面加一个反斜杠;例如:/a*/匹配’a*’。

  意义:一字符列表,匹配列出中的任一字符。你可以通过连字符-指出一个字符范围。

  意义:一字符补集,也就是说,它匹配除了列出的字符外的所有东西。 你可以使用连字符-指出一 字符范围。

  意义:匹配一个单个white空格符,包括空格,tab,form feed,换行符,等价于[ fnrtv]。

  意义:匹配除white空格符以外的一个单个的字符,等价于[^ fnrtv]。

  意义:匹配除数字、字母外及下划线外的其它字符,等价于[^A-Za-z0-9_]。

  意义:这里的n是一个正整数。匹配一个正则表达式的最后一个子串的n的值(计数左圆括号)。

  注意:如果左圆括号中的数字比n指定的数字还小,则n取下一行的八进制escape作为描述。

  意义:这里的ooctal是一个八进制的escape值,而xhex是一个十六进制的escape值,允许在一个正则表达式中嵌入ASCII码

  负值字符范围。匹配任何不在指定范围内的任意字符。例如,[^a-z] 可以匹配任何不在 a 到 z 范围内的任意字符。

  匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,(.) 匹配两个连续的相同字符。

  标识一个八进制转义值或一个后向引用。如果 n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。

  标识一个八进制转义值或一个后向引用。如果 nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为后向引用。如果 nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 nm 将匹配八进制转义值 nm。

  如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。

  匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如,u00A9 匹配版权符号 (?)。

  展开全部普通字符由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符,所有数字,所有标点符号以及一些符号。

  最简单的正则表达式是一个单独的普通字符,可以匹配所搜索字符串中的该字符本身。例如,单字符模式 A 可以匹配所搜索字符串中任何位置出现的字母 A。这里有一些单字符正则表达式模式的示例:

http://altofigaro.com/zhengzebiaodashi/214.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有