正则表达式 – 匹配没有前导和尾随空格的字符串
发布时间:2020-12-14 06:03:35 所属栏目:百科 来源:网络整理
导读:构建一个拒绝未修剪的输入字符串的表达式. 有一组列入白名单的符号,包括空格.但它不能在第一个或最后一个位置使用.但是,它可以在任何数量的任何前导和修剪白名单之间使用. 有以下表达式: ^[^s][A-Za-z0-9s]*[^s]$ …但它有多种原因无效,至少它仍然在前导
构建一个拒绝未修剪的输入字符串的表达式.
有一组列入白名单的符号,包括空格.但它不能在第一个或最后一个位置使用.但是,它可以在任何数量的任何前导和修剪白名单之间使用. 有以下表达式: ^[^s][A-Za-z0-9s]*[^s]$ …但它有多种原因无效,至少它仍然在前导位置和尾随位置匹配任何非空白符号,即使它不是白名单.此外,即使它与表达式匹配,也不会匹配单个字母单词. 白名单是A-Z,a-z,0-9,空格. 有效案例: Abc132 3sdfas // everything ok 案例#1无效: asd dsadas // leadingtrailing space is exist 案例#2无效: $das dsfds // not whitelisted symbol at the leadingtrailing position 那么,如果它不是前导符号或尾随符号,如何在白名单中添加空白符号? 解决方法
您可以使用lookarounds来确保两端都没有空格:
^(?! )[A-Za-z0-9 ]*(?<! )$ Live demo 但是如果环境不支持外观,则以下正则表达式适用于大多数引擎: ^[A-Za-z0-9]+(?: +[A-Za-z0-9]+)*$ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |