我希望这一切都在一个正则表达式中,因为验证输入的(对我来说)黑盒子工具只接受一个正则表达式,我宁愿不引入我自己的外部逻辑来仔细检查。
具体来说,我正在尝试修改dperini's URL regex以确保输入是有效的URL,然后确保其长度不超过一定数量的字符,因此它适合数据库列。
即,我想结合起来
regex_check('<insert dperini's magic>);
和regex_check('^.{0,250}');
成为一个正则表达式。
答案 0 :(得分:2)
您可以使用正则表达式的零长度前瞻,让它向前看并检查字符串长度。只有在前瞻为真以及模式的其余部分时,匹配才会成功:
^(?=^.{0,250}$)...
...
是另一种模式。