Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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
Php 查找带单引号的字符串_Php_Regex_String - Fatal编程技术网

Php 查找带单引号的字符串

Php 查找带单引号的字符串,php,regex,string,Php,Regex,String,我有一个字符串数组。我需要所有不包含任何特殊字符的字符串。只允许从a到z。有没有使用regex的方法或字符串函数?您可以使用regex^[a-zA-Z]*$来匹配只包含a到Z和a到Z的字符串。(它还将匹配一个空字符串) 说明: ^是将正则表达式锚定在字符串开头的锚点(因此正则表达式从字符串开头开始匹配) [a-zA-Z]是一个字符类,包含我们要匹配的字符 *表示应该匹配零次或多次(使用+进行一次或多次) $是字符串末尾的锚点,因此正则表达式必须在字符串末尾停止匹配,否则它将不匹配 使用pre

我有一个字符串数组。我需要所有不包含任何特殊字符的字符串。只允许从a到z。有没有使用regex的方法或字符串函数?

您可以使用regex
^[a-zA-Z]*$
来匹配只包含a到Z和a到Z的字符串。(它还将匹配一个空字符串)

说明:

  • ^
    是将正则表达式锚定在字符串开头的锚点(因此正则表达式从字符串开头开始匹配)
  • [a-zA-Z]
    是一个字符类,包含我们要匹配的字符
  • *
    表示应该匹配零次或多次(使用+进行一次或多次)
  • $
    是字符串末尾的锚点,因此正则表达式必须在字符串末尾停止匹配,否则它将不匹配
使用preg_match检查单个字符串是否与模式匹配(如果不匹配,preg_match将返回0,因此我们只检查是否存在匹配):

因此,您可以在字符串数组上迭代,并创建一个新的与模式匹配的字符串数组

$array = "your_array";
$output_array = array();
foreach ($array as $elem) {
    if ( preg_match('/^[a-zA-Z]{1,}$/', $elem)) {
        $output_array[] = $elem;
    }
}

在输出数组中将是您的数据

preg\u match返回1或0,所以我认为!==false不起作用。类型不同。!==0正在工作fine@Nisnath抢手货PHPs返回值非常不一致。
$array = "your_array";
$output_array = array();
foreach ($array as $elem) {
    if ( preg_match('/^[a-zA-Z]{1,}$/', $elem)) {
        $output_array[] = $elem;
    }
}