回答
这是一个正则表达式,你可以使用:
^[a-zA-Z0-9\-]+\.log$
您不需要使用反斜杠在方括号内跳过短划线。 –
@AdamZalcman不需要它,但我喜欢逃避它,因为我喜欢重用代码。所以如果我编辑这个正则表达式,我不会再检查所有非转义的字符。 –
有了不区分大小写的正则表达式:
^[A-Z]+-([0-9]{2}-){2}[0-9]{4}\.log$
这是一个有点比你的要求更精确的(它匹配的文本-NN-NN-nnnn.log,其中n是一个数字)。如果您正在使用POSIX正则表达式(如在grep
为例),你将不得不逃避括号和括号:
[A-Z]+-\([0-9]\{2\}-\)\{2\}[0-9]\{4\}\.log$
你可以试试:
^[a-z0-9-]+\.log$
如果你没有停住,我会投你一票。如果验证字符串,锚定只是正确的,但我们不知道那是怎么回事。 –
唉,看起来完美的东西(词尾的锚)并不是由POSIX RE规范定义的,所以我们进入了扩展的领域,我们不知道哪个确切的方言是正在使用。 –
你正在寻找的正则表达式是
^[A-Za-z0-9-]*\.log$
请注意,点需要转义,破折号必须是方括号内的第一个或最后一个字符(否则它表示字符范围)。
请注意,这与文件名'.log'匹配。将星号替换为加号,使它与'.log'中的点之前的至少一个字符匹配。
这个人也会接受这个文件名“.log” –
没错。在* vs +上添加了一个注释。 –
- 1. 正则表达式字符串包含
- 2. 正则表达式验证包含'$'作为结束字符的字符串
- 3. 正则表达式只能包含数字和“ - ”字符
- 4. 正则表达式排除和包含两个字符串的字符串
- 5. 正则表达式数字字符和& -
- 6. preg_replace_callback(正则表达式)如果字符串不包含字符
- 7. 字符串不能包含java正则表达式元字符
- 8. 正则表达式,如果字符串包含字符
- 9. 正则表达式开始的字符串[和结束]
- 10. 正则表达式来删除开始和结束字符串
- 11. 正则表达式匹配的开始和结束字符串
- 12. 正则表达式 - 一个字符串和斜线结束
- 13. Java字符串包含的正则表达式包含字母和:/
- 14. 正则表达式从字符串中删除开始和结束字符?
- 15. 使用正则表达式匹配字符串的开始和结束字符
- 16. 查找是正则表达式与起始和结束字符
- 17. 正则表达式,字符串尾部必须包含数字
- 18. 正则表达式字符串不包含数字
- 19. 正则表达式不允许'空格开始和结束字符串'和字符串中的特殊字符?
- 20. 检查字符串中包含正则表达式和无JS
- 21. 包含和不包含字符的正则表达式
- 22. 正则表达式来检查字符串包含空格和特殊字符
- 23. 构建与字符串1开始,但包含字符串并没有结束正则表达式
- 24. PHP正则表达式和字符串
- 25. 正则表达式和字符串
- 26. 正则表达式和字符串
- 27. 正则表达式和字符串
- 28. 正则表达式与?性格和characterSequense包含Unicode字符
- 29. 正则表达式表达删除开始到结束字符字符串
- 30. 分割字符串与结束的正则表达式
您是验证字符串是否匹配模式,或者在更大的字符串中查找模式? –