“^ [a-z] + $”vs“[^ a-z] + $”之间的区别是什么?正则表达式克拉位置差
“^ [A-Z] + $”=这一个是什么,用字母
“[^ A-Z] + $” 开头=这一个是什么,但信
谁能证实?如果我错了,能有人给我“任何以字母开头”和“什么,但字母”正则表达式
编辑:
如何有关,如果我看到的组合正则表达式字母和数字,这是无效的。
[^一个-Z0-9] + $
或是
它[^ AZ] + [^ 0-9] + $
由于
“^ [a-z] + $”vs“[^ a-z] + $”之间的区别是什么?正则表达式克拉位置差
“^ [A-Z] + $”=这一个是什么,用字母
“[^ A-Z] + $” 开头=这一个是什么,但信
谁能证实?如果我错了,能有人给我“任何以字母开头”和“什么,但字母”正则表达式
编辑:
如何有关,如果我看到的组合正则表达式字母和数字,这是无效的。
[^一个-Z0-9] + $
或是
它[^ AZ] + [^ 0-9] + $
由于
方括号在正则表达式中指定一个字符类 - 它匹配括号中的所有字符。
在字符类外,^
匹配字符串的开始或行的开始(取决于是否使用m
修饰符)。所以正则表达式^[a-z]+$
与完全是字母的行匹配。如果您删除$
(与字符串/行的末尾匹配),您将得到一个匹配任何以字母开头的正则表达式;在这种情况下,你也不需要+
量词(任何以1或更多字母开头的东西也以1个字母开头)。
在字符类的开始处,^
反转该类。与括号中的所有字符不匹配,它会匹配括号中的所有而不是的字符。所以[^a-z]+$
匹配以非字母结尾的任何内容,因为$
匹配字符串/行的结尾。如上所述,您不需要+
,因为任何以一个或多个非字母结尾的内容都以一个非字母结尾。匹配时一切是一个正则表达式一个非字母是:
^[^a-z]+$
匹配时,有该行的任何非字母将是一个正则表达式:
[^a-z]
即没有^
或$
主播。
@MladenUzelac链接不起作用,你的意思是这一个http://www.regexr.com/。 – 2014-11-14 20:23:23
http://www.regexper.com/这是完全正确的链接 – 2014-11-14 20:59:34
“^ [A-ZA-Z] + $”=这一个是什么,用字母开头
“[^ A-ZA-Z] + $”=这一个是什么,但信
如果你想包括上限和字母用于可视化正则表达式
是的,正确的:)“小写字母” – 2014-11-14 20:19:14
不要忘了“$”锚定终点。第一个不只是从小写字母开始,它只是从头到尾的小写字母。第二个可以以任何字母开头,但不能以字母开头,但必须以至少一个非小写字母结尾。 – jas 2014-11-14 20:26:29