正则表达式 - 匹配没有前导和尾随空格的字符串

Wil*_*Dev 5 regex language-agnostic string

构建一个拒绝未修剪的输入字符串的表达式.

有一组列入白名单的符号,包括空格.但它不能在第一个或最后一个位置使用.但是,它可以在任何数量的任何前导和修剪白名单之间使用.

有以下表达式:

^[^\s][A-Za-z0-9\s]*[^\s]$
Run Code Online (Sandbox Code Playgroud)

...但它有多种原因无效,至少它仍然在前导位置和尾随位置匹配任何非空白符号,即使它不是白名单.此外,即使它与表达式匹配,也不会匹配单个字母单词.

白名单是AZ,az,0-9,空格.

有效案例:

Abc132 3sdfas // everything ok
Run Code Online (Sandbox Code Playgroud)

案例#1无效:

 asd dsadas // leading\trailing space is exist
Run Code Online (Sandbox Code Playgroud)

案例#2无效:

$das dsfds // not whitelisted symbol at the leading\trailing position
Run Code Online (Sandbox Code Playgroud)

那么,如果它不是前导符号或尾随符号,如何在白名单中添加空白符号?

rev*_*evo 9

使用外观确保您在两端都没有空格:

^(?! )[A-Za-z0-9 ]*(?<! )$
Run Code Online (Sandbox Code Playgroud)

现场演示