查找单引号字符串

时间:2011-04-18 09:08:23

标签: php regex string

我有一个字符串数组。我需要所有不包含任何特殊字符的字符串。只允许使用a到z。有没有使用正则表达式的方法或是否有任何字符串函数?

2 个答案:

答案 0 :(得分:0)

您可以使用匹配仅包含A到Z和a到z的字符串的正则表达式^[a-zA-Z]*$。 (它也会匹配一个空字符串)。

说明:

  • ^是一个锚点,它将正则表达式锚定在字符串的开头(因此正则表达式从字符串的开头开始匹配)
  • [a-zA-Z]是一个包含我们想要匹配的字符的字符类
  • *表示应该匹配零次或多次(使用+一次或多次)
  • $是字符串结尾的锚点,因此正则表达式必须在字符串末尾停止匹配,否则它将不匹配。

使用preg_match检查单个字符串是否与模式匹配(如果没有匹配,preg_match返回0,所以我们只检查是否匹配):

if ( preg_match('/^[a-zA-Z]*$/', $subject) !== 0 ){
    //match

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

答案 1 :(得分:0)

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

将是您的数据