之前我从未使用过正则表达式而且我正在测试一些例子。
我不明白的是正则表达式^([a-z] | a)$
与字符串'a'不匹配的原因。
据我了解,[a-z]
相当于(a | b | c | ... | y | z)
,所以
[a-z] | a
必须等同于(a | b | c | ... | y | z) | a
,这是相同的
说(a | b | c | ... | y | z)
或[a-z]
。
因此,字符串str匹配^([a-z] | a)$
iff匹配^[a-z]$
。
这就是为什么我不明白为什么正则表达式与字符串'a'或'e'不匹配的原因。
PS:我在这page中测试了这个。
答案 0 :(得分:5)
空间在正则表达式中很重要。删除管道周围的空间(|
),它应该可以工作。