1

我正在尝试编写一个接受以下内容的正则表达式:

s#.#
f#.#

其中 # 可以是任意大小的整数(实际上是小数,前面有 s 或 f)。我也需要这个来接受其他任何事情。所以如果它是这样的:

As#.# would not be accepted because there's an A before the s
s#.#X would not be accepted because there's an X after the decimal.

总会有一个 s 或一个 f 开始,然后是一个数字、一个句点和另一个数字。所有这些部分都是必需的,数字可以是任意大小和任意数量的整数。

4

2 回答 2

4

试试这个正则表达式:

/^[sf]\d+\.\d+$/

解释

  • ^是匹配字符串开头的锚点
  • [sf]是一个字符类,表示一个s或一个f
  • \d表示一个数字。
  • +表示一个或多个。
  • \.匹配文字点。
  • $是匹配字符串结尾的锚点。
于 2012-07-09T20:21:45.857 回答
0

要求小数:

/^[sf]\d+\.\d+$/

不需要小数:

/^[sf]\d+(\.\d+)?$/

不允许前导零:

/^[sf][1-9]\d*\.\d+$/

不需要小数,不允许前导零:

/^[sf][1-9]\d*(\.\d+)?$/

这些是相当琐碎的正则表达式,但我希望它能激发你在学习过程中了解更多。它们非常有用。

于 2012-07-09T20:22:57.413 回答