Articles of regex

Regex Obteniendo varios resultados con regex_search

Solo quiero obtener resultados de una cadena dada #include #include #include #include using namespace std; int main () { std::tr1::cmatch res; string str; str = “a lot of unknown text hereTest2 12 a lot of unknown text here Test3 45a lot of text here too”; std::tr1::regex rx(“Test(\d+) (\\d+)”); std::tr1::regex_search(str.c_str(), res, rx); std::cout << "RES 1: […]

evitar el token vacío en cpp

Tengo una cadena: s = “server (‘m1.labs.terada’)ta.com’) username (‘user5’) password(‘user)5’) dbname (‘default’)”; Estoy extrayendo los nombres de los argumentos: como servidor, nombre de usuario …, dbname. Para hacer esto estoy usando la siguiente expresión regular: regex re(“\\(\'[!-~]+\’\\)”); sregex_token_iterator i(s.begin(), s.end(), re, -1); sregex_token_iterator j; unsigned count = 0; while(i != j) { string str1 = […]

Biblioteca de expresiones regulares que mantiene el estado, toma el carácter de entrada por carácter y devuelve verdadero cada vez que se encuentra una coincidencia

Estoy buscando una biblioteca que hace una búsqueda de expresiones regulares en el texto. La restricción que tengo es que el texto es enorme y tiene varios caracteres de control entre ellos. Por eso no puedo pasar todo el texto a la biblioteca. Tengo algo como getnextcharacter que devuelve caracteres válidos después de omitir los […]

extrayendo patrón regex original de std :: regex

Tengo una función que intenta hacer coincidir una cadena dada con un patrón regex dado. Si no coincide, debe crear una cadena que indique dicha ocurrencia e incluir el patrón de expresiones regulares que falló y el contenido de la cadena. Algo similar a tal: bool validate_content(const std::string & str, const std::regex & pattern, std::vector […]

¿Es posible usar expresiones regulares en c ++?

Duplicado de: ¿ Existe una función para usar la coincidencia de patrones (usando expresiones regulares) en C ++? No estoy seguro de dónde se usaría … ¿existen funciones de tipo analizador que toman alguna expresión regular como un argumento o algo? Acabo de descubrir que mi editor resaltará una línea después de / como “regex” […]

Cómo extraer una lista de subcadenas de una cadena usando QT RegExp

Cómo extraer una lista de subcadenas de una cadena usando QT RegExp por ejemplo, si tengo esta cadena de entrada “qjkfsjkdfn 54df#Sub1#sdkf ++sdf #Sub2#q qfsdf445#Sub3#sdf” quiero obtener una lista que contenga “Sub1” , “Sub2” y “Sub3” usando “(#.+#)” RegExp.

Expresión regular para expresiones matemáticas

Tengo algún problema con la expresión regular de C ++, y espero que alguien pueda ofrecer alguna ayuda. 🙂 Actualmente, basándome en “rxAssign” como se muestra a continuación, puedo detectar expresiones matemáticas que parecen: x = x; x = a + 3 * 90 – b; x = 4; } x = a + 3 […]

¿Existe una variante de regex_replace que admita el código en línea?

Perl tiene el modificador de expresiones regulares que permite el código Perl en lugar de solo una cadena para formular el reemplazo: http://perldoc.perl.org/perlretut.html#Search-and-replace Aunque este ejemplo no es el mejor, ya que hay interruptores para lograr esto. Para aquellos de ustedes que entienden a Perl, aquí hay un ejemplo que tiene más sentido: $string = […]

Cuantificadores nesteds en boost :: regex

¿Es \d++ una expresión regular válida en lenguajes de progtwigción que no admiten el cuantificador posesivo? ¿Es equivalente a (\d+)+ ? Al probarlo en Python, se sre_constants.error: multiple repeat un error sre_constants.error: multiple repeat . En C #, se lanzará una excepción de tiempo de ejecución: System.ArgumentException: parsing “\d++” – Nested quantifier + .Así como […]

La expresión regular de C ++ con regexec () no coincide

Estoy tratando de hacer una expresión regular para evaluar una secuencia de números que comience con un subrayado como este: _201312 Tengo problemas con la parte numérica; Siempre recibo el mensaje REG_NOMATCH. Aquí está el código: #include int result_exp,flag_buffer=0; regex_t rx_t; regmatch_t match[10]; result_exp = regcomp(&rx_t,”^[0-9]+$”,REG_NOSUB); // if(result_exp==0){ printf(“result_exp es 0\n”); }else if(result_exp == REG_BADBR){ […]