Last 5.3 release ever available: PHP 5.3.29 - 5.3 now EOL

La clase MongoRegex

(PECL mongo >=0.8.1)

Introducción

Esta clase se puede usar para crear expresiones regulares. Normalmente, estas expresiones se usarán para consultar la base de datos y encontrar textos coincidentes. Con menos frecuencia, se pueden almacenar en la base de datos para su posterior obtención.

Las expresiones regulares consisten en cuatro partes. La primera, un / como delimitiador de inicio, después el patrón, otro / y, por último, un string que contiene indicadores.

Ejemplo #1 Patrón de una expresión regular

/patrón/banderas

MongoDB reconoce seis indicadores para expresiones regulares:

  • i: No considerar mayúsculas/minúsculas

  • m: Multilínea

  • x: Puede contener comentarios

  • l: configuración regional

  • s: "." coincidirá con todo, incluyendo nuevas líneas

  • u: coincidir con unicode

Sinopsis de la Clase

MongoRegex {
/* Campos */
public string $regex ;
public string $flags ;
/* Métodos */
public __construct ( string $regex )
public string __toString ( void )
}

Tabla de contenidos

add a note add a note

User Contributed Notes 2 notes

up
1
benyounes dot ousama at gmail dot com
3 years ago
First you must declare and define your regexObj
Here I am looking for all entry of my database wich is like "%Nicolas%" and the /i param is used for Insensitive Case
$regexObj = new MongoRegex("/^Nicolas/i");

<?php
// I attach the regexObj to my Where Condition
$where = array("ctname" => $regexObj);

// Execute the request
$resultset = $this->db->Infos->find($where);

// Parsing the results
while ($resultset->hasNext())
{
        
$clientObj = $resultset->getNext();
          echo
"Client Name: ".$clientObj["cname"]."</br>";
}
?>
up
0
vinicius at codemakers dot com dot br
7 months ago
/*
Use the "i" option to make searches with Case Insensitive
Find results beginning with $q
*/

$search = "V";

// Case Sensitive

$where = array('name' => array('$regex' => new MongoRegex("/^$search/")));
$cursor = $collection->find($where);

//Case Insensitive

$where = array('name' => array('$regex' => new MongoRegex("/^$search/i")));
$cursor = $collection->find($where);
To Top