Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式最常见的用途是什么?_Regex - Fatal编程技术网

Regex 正则表达式最常见的用途是什么?

Regex 正则表达式最常见的用途是什么?,regex,Regex,我正在为PHP中的验证类构建一个过滤器库,其中一些过滤器使用正则表达式。我脑子里有很多过滤器,但我也不想错过任何一个。您最常使用正则表达式检查什么?在图书馆中,哪些不太常见的东西仍然有用,您需要检查?注意:我不是在寻找实际的正则表达式代码,而是您使用它的目的。正则表达式应该使用预期的用例进行严格测试。 因此,可能很难开发一个完整的通用库。 我的目标是一个函数库,你知道你现在需要。 然后,当您有合适的测试用例时,将其添加到此列表中 也就是说,以下是一些常见的用例: 数字数据 电话号码 日期 邮政编

我正在为PHP中的验证类构建一个过滤器库,其中一些过滤器使用正则表达式。我脑子里有很多过滤器,但我也不想错过任何一个。您最常使用正则表达式检查什么?在图书馆中,哪些不太常见的东西仍然有用,您需要检查?注意:我不是在寻找实际的正则表达式代码,而是您使用它的目的。

正则表达式应该使用预期的用例进行严格测试。 因此,可能很难开发一个完整的通用库。 我的目标是一个函数库,你知道你现在需要。 然后,当您有合适的测试用例时,将其添加到此列表中

也就是说,以下是一些常见的用例:

数字数据 电话号码 日期 邮政编码
SSN

那么您正在寻找我们用于验证的正则表达式类型


各种国际格式的电话、邮政编码、邮政编码、信用卡、电子邮件、日期、数字、ssn、URL http、ftp等,以及Nescio的答案

密码 电子邮件地址 禁止使用各种字符 文本字段中的特许状,如 非字母数字字符
SQL注入攻击模式

 '[\s]*--
密码强度

 ((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,255})

我重复使用的大部分内容是将各种来源提供给我的数据整理成标准格式。很多excel文档导出为CSV或制表符分隔,然后在TextPad中运行一系列重新转换。

请参阅Abigail的规范Regexp::Common


我对正则表达式的主要用途是:

拆分文本 在输入中选择行 验证格式 分析/消毒输入 解析 提供扩展性定制,允许配置配置、快捷方式等,。。。
这些事情有很多是重叠的。但这一切都与人力投入有关。机器可读和人类可读是两种不同的东西。正则表达式有助于我们处理面向人的问题,即我们不需要完整的语法就可以了解一些东西。

在创建库时,请不要忘记,此列表中至少有几项内容会因区域设置的不同而有所不同。SQL注入应该由绑定参数来抵消,不尝试清理数据。绑定参数不会帮助您捕获尝试并炸掉尝试它的混蛋,它只会出错。如果你想抓到一个试图攻击你的人,你必须检查你的输入。然后,您可以使用绑定参数以获得额外的安全性。