ruby-on-rails - 向正则表达式添加特殊字符
问题描述
我的模型中有这个验证:
validates :field, length: { maximum: 20 }, format: { with: /\A('|\p{L}|\s|-)*\z/ }
它正在验证field
应该只包含 unicode 字母、撇号、破折号和空格。
另外,我想在这个正则表达式中允许这些特殊字符:
%w[
Ä É Ö Ü ß ä é ö ü À Â Æ Ç È É Ê Ë Î Ï Ô Œ Ù Û Ü Ÿ à â æ ç
è é ê ë î ï ô œ ù û ü ÿ Á É Í Ñ Ó Ú Ü ¿ ? á é í ñ ó ú ü ! ¡
À È É Ì Ò Ù à è é ì ò ù Ć Ą Ę Ł Ń Ó Ś Ź Ż ć ą ę ł ń ó ś ź ż
Á Â Ã À Ç É Ê Í Ó Ô Õ Ú á â ã à ç é ê í ó ô õ ú
]
谢谢!
解决方案
您当前的正则表达式匹配所有这些字符,除了:¡
¿
!
和?
. 尝试使用\A[-\p{L}'\s!¡¿\?]*\z
(您不需要将所有内容与 分开|
)
推荐阅读
- java - 无法连接到tomcat上的MySQL,但它使用hibernate作为独立的java类连接
- jupyter-notebook - 从另一个笔记本运行 Jupyter 笔记本,同时更改正在运行的笔记本的输出
- css - 如何在 Webpack 中的 HTML 文件中要求 .css、.js 文件
- android - 在 Android 中保存/恢复 Retrofit2 响应
- powershell - 需要通过增加一个参数值来运行脚本部分的循环
- c# - 响应刷新后重定向到路由
- reactjs - 无法在客户端访问 gatsby 环境变量
- php - 使用 PHP isset 访问动态命名的提交按钮
- r - 绑定列表的特定元素
- node.js - Puppeteer 无法导航到 url (ERR_EMPTY_RESPONSE)