1

曾经看过一个正则表达式的例子

^\s*(+-)?(\d+|\d*\.\d+|\d+\.\d*)(e?(+-)?......$

但我只是不知道如何理解/分析这个?

4

1 回答 1

7

一次分析一下;如果你看到一个?, *, or +then 修改了之前的“组”(括号内的组,或“原子”单位,如\s或文字如e):

^            The start of the string
\s*          Zero or more whitespace characters.
(+-)?        An optional + or -
(
   \d+       One or more digits
 |           or
   \d*\.     Zero or more digits, followed by a .
   \d+       One or more digits
 |           or
   \d+\.     At least one digit, followed by a .
   \d*       Zero or more digits
)
(
 e?          An optional e
 (+-)?       An optional + or -

在这里,正则表达式逐渐消失,我不确定s 是正则表达式.....中的文字系列.还是只是一个普通的省略号。但希望这是一个明确的解释。(顺便说一句,$意思是“字符串的结尾”)。

于 2012-04-27T03:28:19.940 回答