regex - 正则表达式接受除字母、数字以外的任何内容
问题描述
需要一个正则表达式的帮助,它可以接受除字母(Aa-Zz)、数字(0-9)和@之外的任何内容
例如差异输入类型
bony -> fail
gup12-> fail
@ -> fail
!#$ -> pass
*&% -> pass
解决方案
首先警告:不同语言有许多正则表达式实现,所以一些细节可能会有所不同,但这些通常在所有平台上都是正确的:
使用正则表达式,您可以使用[
and]
定义一个字符类,它是一组可以匹配的字符。见:https ://www.regular-expressions.info/charclass.html
因此,要匹配任何英文字母,您可以使用[A-Za-z]
. (虽然这不会匹配重音字母。)同样,您可以将数字与[0-9]
. (这不会匹配在其他脚本(如阿拉伯语)中表示数字的字符。)您可以匹配任何带有[A-Za-z0-9]
.
您还可以通过以 . 开头来否定^
字符类。所以[^0-9]
匹配除了那些 10 位字符之外的任何内容。同样[^A-Za-z0-9]
匹配除英文字母和数字以外的任何内容。
许多平台上的常见字符类都支持一些速记:
\d
匹配任何数字 (0-9),但在某些平台上,这也将匹配任何表示任何脚本中数字的字符(阿拉伯语等)\w
匹配任何“单词”字符,这是您通常可以在变量名中使用的任何字符:字母、数字和_
. 同样,在某些平台上,这将在任何脚本(阿拉伯文、西里尔文等)中被视为字母的任何内容\D
是 的补码\d
并匹配任何不在\d
.\W
是的补码\w
见:https ://www.regular-expressions.info/shorthand.html
因此,对于您的情况,您可能希望该类[^A-Za-z0-9@]
匹配除这些字符之外的任何内容。
然后您可以在末尾添加量词+
以匹配一次或多次。[^A-Za-z0-9@]+
推荐阅读
- android - 应用程序被杀死时,Boardcast 接收器无法在工作管理器中工作
- tinymce - TinyMCE 列表的问题
- python - 如何在不重新运行代码的情况下在 python 列表中生成随机值
- powershell - PowerShell:搜索所有属性值
- gpu - 如何在基于位置的动力学中并行化碰撞约束
- scala - 在 Akka Http 或 http4s 等库中编组的设计模式的名称是什么?
- tin-can-api - xAPI 语句查询以从 LRS 获取完成百分比
- ios - (UNITY) Xcode 中 IOS 的构建错误 -> -> "Lexical or Preprocessor Issue" -> 'FBSDKURLSession.h' file not found, FBSDKUserDataStore.h' file not found
- python - 如何从嵌套访问标签
- 没有使用美丽汤的类名或 id
- r - 计算R Shiny传单地图上点击点的距离