Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cloudinary公共ID的正则表达式_Javascript_Regex_Cloudinary - Fatal编程技术网

Javascript Cloudinary公共ID的正则表达式

Javascript Cloudinary公共ID的正则表达式,javascript,regex,cloudinary,Javascript,Regex,Cloudinary,我需要验证Cloudinary公共ID所需的(javascript)正则表达式。规则如下: 公共ID格式支持除以下保留字符外的所有可打印字符:?&\%。此外,空格和前斜杠(/)不能用作公共ID的第一个或最后一个字符 尝试了此操作,但无效:^[^\s\\]+[^?&\\%]+$ 我引用了这些问题:试试这个正则表达式: ^(?![ \/])(?!.*[ \/]$)(?!.*[?&#\%<>])[ -~]+$ ^(?![\/])(?!.[\/]$)(?!.[?&\%])[-~]+

我需要验证Cloudinary公共ID所需的(javascript)正则表达式。规则如下:

公共ID格式支持除以下保留字符外的所有可打印字符:?&\%<>。此外,空格和前斜杠(/)不能用作公共ID的第一个或最后一个字符

尝试了此操作,但无效:
^[^\s\\]+[^?&\\%]+$

我引用了这些问题:

试试这个正则表达式:

^(?![ \/])(?!.*[ \/]$)(?!.*[?&#\%<>])[ -~]+$
^(?![\/])(?!.[\/]$)(?!.[?&\%])[-~]+$

说明:

  • ^
    -断言字符串的开头
  • (?![\/])
    -负向前看以验证字符串的开头既不是空格也不是
    /
  • (?!.[\/]$)
    -负向前看以验证空格和
    /
    都不在字符串末尾
  • (?!.[?&\%])
    -负向前看以确保在字符串
    [?&\%]中找不到这些字符。
  • [-~]+
    -匹配1+个可打印ascii字符(空格至
    ~
  • $
    -断言字符串的结尾

您能提供几个ID示例吗?我只得到一个示例:UFU6DPHQ8HOS0KIYHTXY您忘记考虑关于ID结尾的第二个条件。您需要添加到正则表达式的结尾(在
$
之前):
[^\s\\\]+
。此外,您需要在不可接受的字符中转义“\”。@GalAbra您是对的,但不幸的是,我甚至无法通过将“no^?&\\%字符”与“开头无空格”组合在一起的第一部分。@steve-o我编辑了我的评论-您需要用“\”转义“\”这很好,但不接受unicode字符(é),是吗?@NickChapman你说得对。但我不确定输入字符串是否包含unicode字符。因此,我要求从OP中获取示例输入字符串