[a-z0-9] 是什么意思?

6
我有一个问题。我正在一门Python课程中学习正则表达式,但我不理解[a-z0-9]的含义。有人能够解释一下各部分的含义吗?我在谷歌上搜索了,但只是更加困惑了。

它表示一个字符范围在a-z或0-9之间。 - ceejayoz
12
为何会有负评?最近我感觉stackoverflow对新手提出的简单问题变得过于敌对。虽然有学习正则表达式的资源,但新手可能需要我们的帮助来确定正确的方向! - Mangat Rai Modi
1
@MangatRaiModi,教授入门级别的基础知识最好由教程级别的文档来涵盖,这不是SO的目的所在!即使在2008年首次宣布网站时,它也被描述为程序员的资源-而不是那些想成为程序员但尚未达到此水平的人。 - Charles Duffy
1
不确定正则表达式是否是入门基础... - SSH This
2个回答

5
在正则表达式中,如果你有[a-z],那么它匹配任何小写字母。[0-9]匹配任何数字。因此,如果你有[a-z0-9],那么它匹配任何小写字母或数字。
您可以参考Python文档以获取更多信息,特别是第6.2章 - 正则表达式操作

这是一种有缺陷的做法,因为不同语言的排序顺序并不相同。 - Charles Duffy
有些编程语言使用 AaBbCcDd... 而不是 ABCD...abcd...,在这种情况下,[a-z] 可以包括一部分大写字符。 - Charles Duffy
1
如果你的程序需要在多个地方使用,为了更安全起见,最好使用 [[:lower:]] 表示小写字母,使用 [[:upper:]] 表示大写字母;这样无论排序方式如何,或者当前语言中字母是否在 az 之间,都能正常工作。同样,[[:digit:]][0-9] 的首选替代方案。 - Charles Duffy

1

它匹配从a到z和0到9,只匹配其中一个。


感谢您提供这么易于理解的解释! - Ben Wang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接