正则表达式可以替换为这些条件编写的规则吗?

时间:2016-08-12 13:06:52

标签: php regex

我正在尝试向API提交一些信息,但我收到的错误消息之一是:

  

字段必须仅包含:大写字母(A-Z),数字(0-9),完整   停止(。),正斜杠(/),短划线( - ),&符号(&)和空格

在PHP中使用正则表达式,是否可以编写规则来替换错误消息中指定的字符以外的任何字符?

我很喜欢正则表达式,但我敢打赌,对其他人来说这很容易!谢谢。

我显然可以将整个事情设置为strtoupper()所以我可以处理的第一点!

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用preg_replace

示例:$str = preg_replace('/[^A-Z\d.\/\-&]+/', '', $str);

说明:

  
      
  • [^ A-Z \ d ./-& amp;] +匹配下面列表中不存在的单个字符      
        
    • 量词:+在一次和无限次之间,尽可能多次,根据需要回馈[贪心]
    •   
    • A-Z A和Z之间范围内的单个字符(区分大小写)
    •   
    • \ d匹配数字[0-9]
    •   
    • 。字面意思。
    •   
    • /匹配字符/字面
    •   
    • - 匹配角色 - 字面意思
    •   
    • &安培;列表中的单个字符&字面意思(区分大小写)
    •   
  •