>凡事网 导航

这个正则表达式是什么意思?^(?=[1-9])(?=.[A-Z]).{10,12}$ 正则表达式中 (?=.*[a-z]) 什么意思?

2024-07-05m.fan-pin.com
正则表达式 ^(?=.*?[A-Z])(?=.*?[^A-Za-z0-9]).{6,12}$ 这个是什么意思啊? 尤其是 ?=.*? 这个不能理解,~

(?=.*?[A-Z])
(?=xxx)是零宽断言,表示后面的字符串必须符合xxx这个正则表达式,但是不消耗字符串,实际匹配字符串的正则是.{6,12}即6到12位字符
(?=.*?[A-Z])表示后面必须符号.*?[A-Z]这个 ,即必须有大写字母
整个正则表达式表示6到12位字符,必须有大写字母和不是字母数字的字符

这个叫断言,只匹配一个位置
比如,你想匹配一个“国”字,但是你只想匹配中国的国,不想匹配美国的国就可以用以下表达式
(?=中)国
这个表达式与其他通配符连用才能起到效果。
正则表达式是计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成"regex",单数有regexp、regex,复数有regexps、regexes、regexen。

我来回答一下,这个正则表达式字面上的意思的验证必须由一个数字加一个大写字母开头的10-12长度的字符串。

^表示开始,()表示子表达式,^(?=[1-9])(?=.[A-Z])表示开始后面必须接一个数字(范围1-9),数字后面必须接一个大写字母(范围【A-Z】),.表示任意字符,{}表示长度限制,$表示结束。

逻辑图见网页链接



/^[-.-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/

分成2部分,@之前和之后
@之前
^[-.-_A-Za-z0-9]+ 表示允许出现- . _ 和字母数字这些,且必须大于1个字符,字数无上限,而且他们出现的位置都不限
@之后
([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$
([_A-Za-z0-9]+\.)+ 表示允许大于1个字母数字出现,后面跟 .
[A-Za-z0-9]{2,3} 表示允许2个或3个字母数字的组成的单词出现

下面的验证,根据你的修改了一些
/^[^\_][\w\-\.]+@[\w\.]+[\w]{2,3}$/
@之前
^[^\_][\w\-\.]+ 排除下划线出现在用户名头位置,\w表示所有字母和数字,下划线
后面都差不多意思

------------------------------------

不好意思,没注意到你的补充,现在才看到

1.我的代码里最前面的/^是表示正则表达式的开始的吧?
a: 是的,^是开始符号 $是结束符号

2.按我的代码,第二个横线是不是可以去掉,而且原意不变?(我试过,去掉第一个不可以,去掉第二个代码能正常运行),如果不可以去掉那么要它有什么用?
我试过用/^[-.-_-----A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/这个代码也能用,也就是说从我那里的第三个横线开始加多少个都可以。
[email protected]这个字符串可以在你的表达式里通过,这个违背了,我之前的意思:及最后一个单词后面只能是两个或三个字母。
a:俩个短横线保留一个就可以了,不能去掉第一个的原因是第二个短横线-应该被当成连接符了,就想A-Z这样的中间的链接符,你去掉第一个的话,在第二个短横线那里加个反斜杠\就好了
你提出的错误确实是存在,应该是[\w.]+这里出问题了,这[]里面的是可选的,而不是必须的,所以在匹配bbbbbbbbb的时候在[\w.]+这里成功,最后的[\w]{2,3}没起到作用,造成了这个错误,我改了一下,这样在没有到字串末尾时连接点.就成为必须字符
/^[^\_][\w\-\.]+@([\w]+\.)+[\w]{2,3}[^\_]$/

正则表达式中至少有一个或者多个用什么符号表示3
什么是正则表达式?正则表达式(Regular Expression):是由一些字符和特殊符号组成的字符串,可以描述模式的重复或者表述多个字符。正则表达式的用途是为高级的文本模式匹配、抽取、或文本形式的搜索和替换提供基础。正则表达式中常用个特殊符号和字符有哪些?特殊符号描述示例示例意义 |管道符号,表示选择其中一个...

谁能帮我分析下这2个正则表达式
代表任意个,可以是0,所以第一个正则可以匹配所有字符串 第二个就是html里的标签了

正则表表达式(“PL+”)什么意思
然后以非字母作为分割,这才得到的结果是一个个单词;引申一下:在"正则表达式"的百度百科里面有这样一张表,这里我贴一部分:这里面的几个属性如:N(数字)、S(比如数学符号、货币符号)等也适用于这个表达式,例如:"\\\\PN+"就是非数字,按这个表达式分割的结果就是每个元素都是数字。

Regex 正则表达式中几个符号([ ] ^ {} ?: ?= ?!)的概念
由于在小括号中使用了 ?: ,所以第一个匹配(Swift3)没有被存储,只存储了后面的第二个匹配(Swift4);若写成 (?:Swift3)(Swift4)\\2 ,则正则表达式错误,因为没有存储第二个匹配;其中 ?: 的作用是匹配Swift3模式字符串,但不会存储该匹配。Swift(?=4) 匹配右边紧跟着4的Swift;其中 (...

java 看这些正则表达式,,后面都带个$ $是什么意思?
^匹配开始位置 匹配结束位置 比如第一条正则的意思是 15个数字或者18个数字,多一个或少一个都不行,这就是^,$起的作用,要是不加$,16个数字也是可以匹配的,不过只能匹配到第15个

正则表达式中〔^)〕*,[^()]各自是什么意思,[ ]里的内容可看做一个整 ...
^ 匹配字符串的开始 匹配重复零次或更多次 [] 表示匹配方括号中的任一个字符,即其中的字符都是或的关系 () 表示一个分组,在后面可以引用这个分组,从左向右,第一个出现的分组的组号为1,第二个为2,以此类推,引用方式为\\1,\\2

JAVA中的正则表达式“\\\\[([^\\\\]]+)\\\\]”这个表示什么意思?两个转义字符...
在正则中括号表示字符集,要表示中括号字符必须转义 整个正则匹配 中括号中的内容 开头的\\\\[ 匹配" [ "字符 尾部的\\\\]匹配 “]"字符 中间的[([^\\\\]]+),表示所有非"]"字符组成的字符串

请问哪位大神解释一下这个正则表达式,比如,一共2个点,他写了3个\\56...
,即表示这个\\56可能有1个也可能没有,也就是说当(http:\/\/|www)匹配到http:\/\/时,这个\\56就不会匹配到,而当(http:\/\/|www)匹配到的是www时,\\56就能匹配到1个".",正则后面的两个\\56就好理解了,分别匹配www后和cn前的两个点 3、\\\\w是什么意思 java中的\\w匹配包括下划线的任何单词...

正则表达式注册用户名长度为6-20个字符什么意思?
意思是在注册用户的时候要输入的用户名长度为6-20个字符,如果6-20个英文或6-20个汉字都可以,但是不要超过20个字符,每个注册用户的要求不同,有时候要求的用户名长度也会不同,名称要求也不同,例如名称需要数字、英文大小写组合等要求。正则表达式:能匹配的组合为:数字+字母,数字+特殊字符,字母...

正则(?=.*[a-z])是什么意思?
用菜鸟工具正则表达式在线测试,abcD去匹配 (?=.*[a-z]). 匹配结果是 a b c,为什么a也能匹配,a的前面什么都没有啊!建议换用更好用的 RegExr: Learn, Build, & Test RegEx 解释:因为 你写的 (?=.*[a-z]).,其中的 .*[a-z] 含义是:任意字符,个数0或多个,后面跟着一个小写...

相关链接2

返回顶部
凡事房车自主流
凡事网