正则表达式(括号)、[中括号]、{大括号}的区别小结

作者&投稿:董纪 (若有异议请与网页底部的电邮联系)
正则表达式中的小括号和中括号,有什么区别呢?~

最基本的意思:小括号就是括号内看成一个整体 ,中括号就是匹配括号内的其中一个,大括号就是匹配几次

但是括号里变加上其他字符就有不同意思 详细介绍 例如:


{n}
n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。


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


{n,m}
m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。


?
当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽
可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”
将匹配所有“o”。


.
匹配除“
”之外的任何单个字符。要匹配包括“
”在内的任何字符,请使用像“[.
]”的模式。


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


(?:pattern)
匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。


(?=pattern)
正向预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后
使用。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配
“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从
包含预查的字符之后开始。


(?!pattern)
负向预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以
后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配
“Windows2000”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是
从包含预查的字符之后开始


x|y
匹配x或y。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”。


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


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


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


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

区别:用法区别
() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。[]是定义匹配的字符范围。{}一般用来表示匹配的长度。
具体用例
1、()
(\s*)表示连续空格的字符串。
2、[]
[a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字,包括a到z,A到Z,0到9。[\s*]表示空格或者*号。
3、{}
\s{3} 表示匹配三个空格,\s{1,3}表示匹配一到三个空格。

扩展资料
正则表达式常用特殊字符
1、$
匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '
' 或 ''。要匹配 $ 字符本身,使用 \$。
2、()
标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,使用 \( 和 \)。
3、*
匹配前面的子表达式零次或多次。要匹配 * 字符,使用 \*。
4、^
匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,使用 \^。

正则表达式的()
[]
{}有不同的意思。
()
是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。
(\s*)表示连续空格的字符串。
[]是定义匹配的字符范围。比如
[a-zA-Z0-9]
表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。
{}一般用来表示匹配的长度,比如
\s{3}
表示匹配三个空格,\s[1,3]表示匹配一到三个空格。
(0-9)
匹配
'0-9′
本身。
[0-9]*
匹配数字(注意后面有
*,可以为空)[0-9]+
匹配数字(注意后面有
+,不可以为空){1-9}
写法错误。
[0-9]{0,9}
表示长度为
0

9
的数字字符串。
例如:在PHP中过滤内容里面有数字或空格数字
复制代码
代码如下:
preg_replace("/\d{1,}\s{0,1}/",
"xxxxxxxx",
$signaturecontent);


如何理解正则表达式的括号、方括号和{}?
大括号{}:大括号则负责数量控制,它与正则表达式中的特定模式结合,用来指定某个模式出现的次数。例如, '[a-c]{2}' 表示匹配连续的两个 a、b 或 c 字母,而 '(com){1}' 则确保 com 仅出现一次,体现了对字符重复次数的精确规定。进一步, '[\\W]{1,3}' 代表非字母数字字符最少出现一次...

正则表达式(括号)、[中括号]、{大括号}的区别小结
正则表达式的()[]{}有不同的意思。()是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。(\\s*)表示连续空格的字符串。[]是定义匹配的字符范围。比如 [a-zA-Z0-9]表示相应位置的字符要匹配英文字符和数字。[\\s*]表示空格或者*号。{}一般用来表示匹配的长度,比如 \\s{3} ...

正则表达式中的()[]{}这三种括号一般有什么区别?
区别:用法区别 () 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。[]是定义匹配的字符范围。{}一般用来表示匹配的长度。具体用例 1、()(\\s*)表示连续空格的字符串。2、[][a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字,包括a到z,A到Z,0到9。[\\s*]表示空...

正则表达式中() [] {}的区别用法
方括号是单个匹配 字符集\/排除字符集\/命名字符集 正文内容 正则表达式的() [] {} 有着不同的意思。() 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串 (\\s*)表示连续空格的字符串 [] 是定义匹配的字符范围。比如[a-zA-Z0-9]表示相应位置的字符要匹配英文字符和数字。[...

正则表达式括号的作用
其中括号是提供分组功能,使量词 + 作用于 "ab" 这个整体,测试如下:而在多选分支结构 (p1|p2) 中,此处括号的作用也是不言而喻的,提供了分支表达式的所有可能 比如,要匹配如下的字符串:可以使用正则:如果去掉正则中的括号,即:\/^I love JavaScript|Regular Expression$\/ 匹配字符串是 ...

在正则表达式中,下列选项哪些是括号字符“()”的作用()。
在正则表达式中,下列选项哪些是括号字符“()”的作用()。A.表示字符范围 B.改变限定符的作用范围 C.定义限定符 D.分组 正确答案:BD

怎么用正则表达式匹配小括号里内容(含括号)?
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个...

3.正则表达式使用基础:括号(一)
只需要匹配两种表达式中的一个,就是合法身份证。那我们可以使用多选分组。-关于多选分组,补充三点: 1.多选结构的一般表示法是(option1|option2),在多选结构中一般会同时使用()和竖线 |;但是如果没有括号,只出现竖线|,仍然是多选结构。括号的用来规定整个多选结构的范围,如果没有出现括号,则...

请问正则表达式匹配括号的问题
在正则表达式中()表示一个分组,()属于正则表达式的特殊字符,是具有实际意义的,所以要匹配括号必须要加上 反斜杠 \\( 来说明这表示的是一个普通的小括号,而不是一个正则分组

怎么用正则表达式匹配句末小括号里内容(含括号)?
查找 [\\((][^\\))]+[\\))]替换成空字符串

民勤县15855515351: 正则表达式中的小括号和中括号,有什么区别呢? -
钭江舒目: 最基本的意思:小括号就是括号内看成一个整体 ,中括号就是匹配括号内的其中一个,大括号就是匹配几次但是括号里变加上其他字符就有不同意思 详细介绍 例如:{n} n是一个非负整数.匹配确定的n次.例如,“o{2}”不能匹配“Bob”中...

民勤县15855515351: 正则表达式中的()[]{}这三种括号一般有什么区别? -
钭江舒目: ()这种括号,会分配存储空间,可以用$1取得里面的数据 []用来自定义能够匹配 '多种字符' 的表达式.比如[mike]匹配,m,i,k,e,这4个字母,这里注意是单个字符不能匹配一个单词mike,如果要匹配一个单词可以这样写(mike),如果不需要分配存储空间可以直接写mike. {}修饰匹配次数的符号.a{0,1}a至少出现0次或最多1次,第二次出现则不匹配了a{2,5}a至少出现2次或最多5次. 希望你能理解!

民勤县15855515351: 如何用正则表达式匹配括号中的内容. -
钭江舒目: “()” 等这些在正则表达式中有特殊意义的字符,要当普通字符使用时,在其前面加'\'即可. 正则表达式中的圆括号的作用: 1. 正则表达式中的圆括号的作用是对字符进行分组,并保存匹配的文本. 2. 圆括号用法I:对字符或元字符进行分组,...

民勤县15855515351: 正则表达式 把字符串中成对的中括号替换成小括号 -
钭江舒目: var s="A[BCD]EF]G"; s.replace(/\[([^\[\]]*)\]/g, "($1)"));

民勤县15855515351: 为什么正则表达式只能匹配到一个中括号 -
钭江舒目: 正则表达式的() [] {}属于特殊字符,有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字...

民勤县15855515351: 正则表达式中方括号[]与圆括号()的区别是什么? -
钭江舒目:[答案] [] 无意义,一般用作匹配一个集合 比如 [0-9] :查找任何从 0 至 9 的数字. [a-Z] :查找任何从小写 a 到大写 Z 的字符. ()也是匹配一个集合,但它还可以用作反向引用.

民勤县15855515351: 正则表达式,中括号里面有两个选择09和10该如果表达,使用小括号的方法我会,只求用中括号的表示方法. -
钭江舒目:[答案] 写出你要处理的字符串,是啥样的. 以及有何规律. 以及输出是什么样的,是其他什么,匹配什么. 再帮你写正则.

民勤县15855515351: 正则表达式中,在括号内的特殊字符哪些需要转义 -
钭江舒目: $匹配输入字符串的结尾位置.如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'.要匹配 $ 字符本身,请使用 \$.( )标记一个子表达式的开始和结束位置.子表达式可以获取供以后使用.要匹配这些字符,请使用 \( 和 \)...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网