允许双引号的Preg匹配

时间:2014-10-26 00:22:06

标签: php regex

处理从API返回结果。

目前使用正确的preg_match表达式有两个问题

第一个是关键字搜索。我需要允许a-zA-Z和双引号,因为它允许精确的短语搜索,即“销售经理”

这是我现在拥有的,这会有用吗?我相信如果一个特殊的角色在一个类[]中,那么我不需要逃避它?在崇高的2中,彩色文本看起来像是错误的。

if (!preg_match("/^[a-zA-Z "]*S/", $query)) {
            //do this
        }

第二个是按位置搜索,我需要允许a-zA-Z0-9和逗号。 ie)Syracuse,NY或邮政编码。

if (!preg_match("/^[a-zA-Z0-9,\,]*S/", $location){
            //do this
        }

1 个答案:

答案 0 :(得分:0)

所以我找到了一个很好的正则表达式测试工具,绝对可以帮助像我这样的初学者。

http://www.phpliveregex.com

马里奥是正确的,事实上它确实需要逃脱。

这对我有用:

搜索

if (!preg_match("/[a-zA-Z \"]*\S[a-zA-Z \"]/", $query)) {
        //do this
    }

位置

if (!preg_match("/[a-zA-Z0-9 ,.]*\S[a-zA-Z0-9 ,.]*\S[a-zA-Z0-9 ,.]/", $location){
        //do this
    }

我添加了一个句号作为另一个角色,以防万一有一个城市以圣

开头

感谢@Mario的解释。