RegEx匹配5个字母后跟“。exe”

时间:2013-09-03 23:50:15

标签: regex

我试过这个正则表达式:

^\w{5}\.(exe)$

应匹配

5个字母,后跟.exe,如:

abcde.exe
regra.exe

它不适用于“samba投票文件”

我的错误在哪里?

提前致谢。

3 个答案:

答案 0 :(得分:1)

^(\w{5})(?=.exe$)

Regular expression visualization

Edit live on Debuggex

它匹配第一个字母并将它们放入捕获组中,如果它后跟一个.exe但是根本不捕获.exe文件。

这也可以:)

^(\w{5}).exe$

Regular expression visualization

Edit live on Debuggex

  • ^表示行的开头
  • \w表示字母,数字和下划线(与[_a-zA-Z0-9]相同)
  • {5}完全代表5个字符
  • $是该行的结尾

答案 1 :(得分:1)

您的正则表达式将匹配12345.exe甚至_____.exe,这不是您的州意图。

要匹配5个(小写)字母,然后“.exe”:

^[a-z]{5}\.exe$

答案 2 :(得分:0)

不需要.exe左右的括号(尽管它们不应该导致任何错误);这应该足够了:

^\w{5}\.exe$

python中的示例:

import re
In[1]: re.search('^\w{5}\.exe$', 'regra.exe')
Out[1]: <_sre.SRE_Match at 0x101f1fb90>

In [2]: re.search('^\w{5}\.exe$', 'abcdeas.exe')
Out[2]: None