在我的应用程序中,我允许用户使用承租人 '*'
、'?'
创建一些验证规则,其中 '*'
表示许多承租人和 '?'
表示一个字符,例如用户可以写 "*Ma?s*"
所以它应该匹配这样的东西 "ajdg adbf MaKs sjklfd"
抱歉这个例子,但我脑子里什么都没有,也许用户输入了更复杂的规则。
我通过将规则和匹配字符串发送到 SQL Server 数据库并将每个 '*'
替换为 '%'
和每个 '? '
和 '_'
并像条件一样使用并且效果很好,但是用户可以输入很多验证规则和很多匹配项所以有很多数据库操作所以我以为我晚上使用新的 c++ 11 正则表达式在客户端执行此操作,我搜索了很多并阅读了很多文章但没有答案。
那么这可以在正则表达式中完成吗?以及如何?
最佳答案
如果你想创建一个正则表达式,你只需要将你的规范转换为一个正则表达式。为此,只需替换:
*
by.*
(或.+
,取决于您是否需要至少一个字符)?
通过。
注意:
.
匹配任何字符。如果您只查找字母,可以使用 [a-zA-Z]
替换 .
。对于数字,\d
。对于字母和数字,[a-zA-Z0-9]
等
关于c++ - 如何允许最终用户使用正则表达式创建验证规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15085502/