-1

我试过这个正则表达式:

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

应该匹配

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

abcde.exe
regra.exe

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

我的错误在哪里?

提前致谢。

4

3 回答 3

1

Your regex will match 12345.exe and even _____.exe, which is not your states intention.

To match 5 (lowercase) letters then ".exe":

^[a-z]{5}\.exe$
于 2013-09-04T00:24:07.790 回答
1
^(\w{5})(?=.exe$)

正则表达式可视化

在 Debuggex 上实时编辑

它匹配第一个字母并将它们放入捕获组,如果其后跟一个 .exe 但根本不捕获 .exe!

这也将起作用:)

^(\w{5}).exe$

正则表达式可视化

在 Debuggex 上实时编辑

  • ^ 表示行的开始
  • \w表示字母、数字和下划线(同[_a-zA-Z0-9]
  • {5}正好代表 5 个字符
  • $ 是行尾
于 2013-09-04T00:02:31.277 回答
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
于 2013-09-03T23:54:33.497 回答