对正则表达式模式感到困惑

时间:2012-10-07 07:21:05

标签: regex

[a-zA-Z][a-zA-Z]*[a-zA-Z]*等搜索模式有什么区别?

2 个答案:

答案 0 :(得分:8)

第一个匹配一个[a-zA-Z],后跟零个或多个[a-zA-Z]

第二个匹配零个或多个[a-zA-Z]


第一个也可以写成[a-zA-Z]+

答案 1 :(得分:2)

正则表达式[a-zA-Z][a-zA-Z]*表示您要求应该有一个alpabetic字符可选,后跟任何个字母数字。另一方面,[a-zA-Z]*意味着字母表的授权完全是关闭的。

例如,您的第一个正则表达式匹配字符串azxxxabccdef但未通过2abcd22和空字符串。但第二个正则表达式也可以匹配一个空白字符串。

对于第一个正则表达式,您可能只想说:[a-zA-Z]+