【问题标题】:RegEx string start/end/middle one time match正则表达式字符串开始/结束/中间一次匹配
【发布时间】:2020-08-23 05:12:39
【问题描述】:

我正在尝试使用正则表达式验证 input 字段。 任务是:input 字段可以(可选)在字符串的开头或中间或结尾处仅包含一个特殊字符 *。 这是我的正则表达式:

^(?!.?\*.*\()[\w*]+$

问题是:字符串对多个* 仍然有效,并且无法弄清楚我做错了什么。

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    你可以使用

    ^(?!(?:[^*]*\*){2})[\w*]+$
    

    regex demo

    详情

    • ^ - 字符串开头
    • (?!(?:[^*]*\*){2}) - 字符串中不允许有两个不一定连续的星号
    • [\w*]+ - 一个或多个字母、数字、_* 字符
    • $ - 字符串结束

    【讨论】:

    • 看起来像我要找的东西。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 2017-09-06
    • 2015-07-06
    • 1970-01-01
    • 2018-03-05
    相关资源
    最近更新 更多