我无法理解这个问题在flex中的正则表达式中意味着什么。例如,在我的笔记中说:
[a-z]?对应0或1次重复(用于可选部分)。
另一个例子说:
- ?[1-9] [0-9] * 对应任何非零整数。
我不明白为什么这些正则表达式对应于他们的解释。有人可以解释这两个吗?
答案 0 :(得分:2)
?
并非特定于flex,它是大多数正则表达式引擎的一部分。它基本上意味着在?
可选之前的任何内容,所以它实际上不必存在。
具体来说,它意味着“零或前一个元素之一”。
示例:
Nov(ember)? // matches November or Nov
Feb(ruary)? 23(rd)? // matches Feb 23 or February 23 or February 23rd or Feb 23rd
colou?r // matches color or colour