当前位置: 首页 > 面试题库 >

如何验证正则表达式?

骆文彬
2023-03-14
问题内容

我想在PHP中测试正则表达式的有效性,最好在使用前进行测试。这样做的唯一方法是实际尝试a preg_match()并查看是否返回FALSE吗?

有没有更简单/正确的方法来测试有效的正则表达式?


问题答案:
// This is valid, both opening ( and closing )
var_dump(preg_match('~Valid(Regular)Expression~', null) === false);
// This is invalid, no opening ( for the closing )
var_dump(preg_match('~InvalidRegular)Expression~', null) === false);

正如用户 pozs 所说,还应 考虑@@preg_match()在测试环境中 放在 preg_match() ()
前面, 以防止发出警告或通知。

要验证RegExp只需对其运行null (无需知道您要预先测试的数据) 。如果返回显式false(=== false),则表示它已损坏。否则它是有效的,尽管它不需要匹配任何内容。

因此,无需编写自己的RegExp验证器。 浪费时间了…



 类似资料:
  • 主要内容:标签属性,JSF验证整数范围实例标签用于将字符串值验证为所需格式。 以下代码显示如何使用标记。 标签属性 属性 说明 pattern 格式化模式 JSF验证整数范围实例 打开 NetBeans IDE 创建一个Web工程:ValidateRegularExpression,其目录结构如下所示 - 创建以下文件代码,文件:index.xhtml 的代码内容如下所示 - 文件:result.xhtml 的代码内容如下所示 - 文件:

  • 我有以下用于javascript密码验证的正则表达式: 正则表达式规则是: 12-25个字符 至少有一个大写字母 至少有一个小写字母 至少有一个数字 至少有一个特殊字符:!#$%()*,-./:;=?@[]^ `{124;}~ 然而,正则表达式似乎不起作用。它匹配任何字符。我该怎么解决这个问题?

  • 问题内容: 我正在寻找允许我验证json的正则表达式。 我对Regex非常陌生,我知道使用Regex进行解析很不好,但是可以用来验证吗? 问题答案: 是的,可以进行完整的正则表达式验证。 大多数现代正则表达式实现都允许递归正则表达式,该正则表达式可以验证完整的JSON序列化结构。该json.org规范使得它非常简单。 它具有PCRE功能,在PHP中效果很好。应该在Perl中保持不变;并且可以肯定地

  • 问题内容: 我正在使用JavaScript,需要弄清楚如何使用正则表达式确定有效日期。 比赛将是: 另外,不应接受前导零,例如: 如何编写正则表达式来做到这一点? 问题答案: 我想出了这个: 适用于,,和,使用或作为分隔符

  • 问题内容: 我一直在寻找URL的简单正则表达式,有人能用得起吗?我在zend框架验证类中找不到一个,并且看到了几种实现。 问题答案: 我在一些项目中使用了此工具,我不认为我遇到了问题,但我敢肯定它并不详尽: 最后,大多数随机垃圾都是用来处理句子中的情况(以避免匹配尾随时间)。我敢肯定它可以清除,但因为它起作用了。我或多或少只是将其复制到项目之间。

  • 我在Visual C#中为信用卡号码验证器创建正则表达式时遇到一些问题。卡的数字需要用破折号(-)分隔,第一个数字必须是1-9,第二组数字必须是1-3。所以一个例子是2204-1232-9746-5558或1111-1111-1111-1111。 以下是我目前掌握的情况: 我尝试的每个卡号都会给出相同的结果,该号码无效。谁能把我引向正确的方向?非常感谢!