当前位置:  开发笔记 > 编程语言 > 正文

正则表达式模式 - 允许字母数字,一堆特殊字符,但不是特定的字符序列

如何解决《正则表达式模式-允许字母数字,一堆特殊字符,但不是特定的字符序列》经验,为你挑选了1个好方法。

我有以下正则表达式:

(?!^[&#]*$)^([A-Za-z0-9-'.,&@:?!()$#/\\]*)$

所以允许AZ,aZ,0-9和这些特殊的字符 '.,&@:?!()$#/\

如果在此字符串中的任何位置遇到以下字符集,我想不匹配:

&#

当我使用"&#"作为输入运行此正则表达式时,它与我的模式不匹配,我收到错误,很棒.当我运行正则表达式时'.,&@:?!()$#/\ABC123它与我的模式匹配,没有错误.

但是当我运行时:

'.,&#@:?!()$#/\ABC123

它也没有错误.我在检查&#序列时遇到了问题.

有人能告诉我我做错了什么,我对这些事情并不好.



1> Ben Blank..:

借用匹配引用字符串的技术,&从您的字符类中删除,添加一个& 后跟的替代方法#,并允许该字符串可选地结束&:

^((?:[A-Za-z0-9-'.,@:?!()$#/\\]+|&[^#])*&?)$


这也会允许像"&Δ"这样的序列,而Δ是`[^#]`之一,例如"_","<",">"等.所以以下会更好:^(?:[A -za-Z0-9 - :|,@ - '@()$#/ \\] + [A-ZA-Z0-9?!':?!()$/\\])*$
推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有