正则表达式:从基础到扩展应用
1. 24小时制时间正则表达式扩展
在处理时间正则表达式以适应24小时制时,有多种解决方案。我们可以将任务分为三组:
- 早上(00 - 09时,前导零可选)
- 白天(10 - 19时)
- 晚上(20 - 23时)
最初可以表示为 !0?[0 - 9]<1[0 - 9]<2[0 - 3]"
,实际上可以将前两个组合并,得到更简短的 ![01]?[0 - 9]<2[0 - 3]"
。
时间范围 | 正则表达式表示 |
---|---|
00 - 09 | 0?[0 - 9] 或 [01]?[0 - 9] |
10 - 19 | 1[0 - 9] |
20 - 23 | 2[0 - 3] |
正则表达式的“风格(flavor)”和“工具”是不同的概念。不同的程序可能支持相同的正则表达式风格,而同名的程序也可能有不同的风格。例如,各种名为 egrep
的程序就支持多种不同的正则表达式风格。