为什么这个正则表达式不匹配它的并行呢?

时间:2014-07-07 02:34:19

标签: regex regex-negation

我是编写正则表达式的初学者并且有一个问题。

根据我的理解,如果我想验证字符串中是否包含小写字母,我会使用此正则表达式:

[^a-z]

我会使用它,因为这个字符类匹配包含非小写字母的任何内容,但是在传递此字符串时:

apple 12345

      ^not a lowercase letter.

它没有匹配。

如果我将其传递给它,那么:

[^0-9]

正则表达式

(我使用最新版本的Regetron测试我的表情)

提前致谢。

1 个答案:

答案 0 :(得分:6)

根据您使用的编程语言或正则表达式库,匹配可能是锚定,也可能不是。未锚定的匹配将在搜索字符串中的任何位置找到匹配项。锚定匹配将具有隐式^和/或$锚点,将正则表达式绑定到搜索字符串的开头(或整个)。

如果您的正则表达式库已锚定,并且您想要模拟未经授权的体验,请向两端添加.*

.*[^a-z].*