gpt4 book ai didi

javascript - 正则表达式仅在第一位禁止连字符

转载 作者:行者123 更新时间:2023-11-29 19:30:53 25 4
gpt4 key购买 nike

我是正则表达式的新手,所以遇到了一个问题,我用谷歌搜索但不幸的是没有找到解决方案所以我的问题是:
我需要一个不允许连字符作为第一个字符的正则表达式(如果它是字符串中唯一的字符)

Eg: - (disallow)

但是如果我用它写一些数字那么它应该允许它,并且还允许分数值而且它不应该允许任何字母

Eg:
1234 (allow)
-1234 (allow)
-1234.1234 (allow)

整个字符串中不得使用字母,也不得重复使用连字符。

这是我目前尝试过的:

((^-?[0-9]{0,4})|(^-?[0-9]{0,4}))(.[0-9]{1,4})?

它适用于所有场景,除了单连字符即

eg: - (it is allowed using my regex but I shouldn't)

非常感谢您的帮助..:)

最佳答案

我不知道你的意图是什么。在正则表达式的开头添加否定前瞻,将不允许仅 -

^(?!-$)((^-?[0-9]{0,4})|(^-?[0-9]{0,4}))(\.[0-9]{1,4})?$

DEMO

您可以将上述正则表达式简化为,

^(?!-$)(-?[0-9]{0,4})(\.[0-9]{1,4})?$

关于javascript - 正则表达式仅在第一位禁止连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27543119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com