如何解决正则表达式允许空格并限制非空字符串开头的特殊字符
我想在 javascript 中创建一个 RegExp。如果字符串非空,则要求在字符串的开头允许空格。另外,我必须在字符串的开头限制一些特殊字符。
目前,我正在使用这个 RegExp -
^(?!^[=+-@]).*
these strings need to be passed from regexp test -
foo
foo bar
bar
123bar
foo@bar.com
these string should fail -
@foo
@foo
' ...spaces'
'' empty-string
请帮忙。
解决方法
你可以使用
^(?! *[=+@-]| +$).*
或者,匹配任何类型的空格:
^(?!\s*[=+@-]|\s+$).*
详情:
-
^
- 字符串的开始 -
(?!\s*[=+@-]|\s+$)
- 匹配失败的负向前瞻,如果在当前位置的右侧,有-
\s*[=+@-]
- 零个或多个空格,然后是=
、+
、@
或-
-
|
- 或 -
\s+$
- 一个或多个空格直到字符串结束
-
-
.*
- 除换行符以外的零个或多个字符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。