我试图编写一个接受以下内容的正则表达式:
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开始,然后是数字,句号和其他数字。所有这些部分都是必需的,数字可以是任意大小和任意数量的整数。
答案 0 :(得分:4)
试试这个正则表达式:
/^[sf]\d+\.\d+$/
<强>解释强>
^
是anchor,匹配字符串的开头。[sf]
是character class,表示s
或f
。\d
表示数字。+
表示一个或多个。\.
匹配文字点。$
是一个匹配字符串结尾的锚点。答案 1 :(得分:0)
要求小数:
/^[sf]\d+\.\d+$/
不要求小数:
/^[sf]\d+(\.\d+)?$/
不允许前导零:
/^[sf][1-9]\d*\.\d+$/
不要求小数,不允许前导零:
/^[sf][1-9]\d*(\.\d+)?$/
这些都是相当简单的正则表达式,但我希望它能激励你在学习的过程中学到更多东西。它们非常有用。