正则表达式 - 如果包含'%',则只能包含'%20'

Kyl*_*ndo 5 regex

我想为以下场景创建一个正则表达式:

如果一个字符串包含百分比字符(%),则它只能包含以下内容:%20,并且不能以另一个' %' 开头.

因此,如果有,例如,%25它将被拒绝.例如,以下字符串有效:

http://www.test.com/?&Name=My%20Name%20Is%20Vader

但这些会失败:

http://www.test.com/?&Name=My%20Name%20Is%20VadersAccountant%25

%%%25

任何帮助将不胜感激,

凯尔


编辑:

简而言之,方案是将链接写入编码状态,然后通过JavaScript启动.没有解码工作.我尝试过.net解码和JS解码,每个都有相同的结果 - 结果在执行时保持编码状态.

Mar*_*ers 5

不需要%:

/^[^%]*(%20[^%]*)*$/
Run Code Online (Sandbox Code Playgroud)