Las expresiones regulares (I + Python)

expresión regular

1.R, recomendamos este Blog

Los ejemplos table_info son los siguientes:

du_mtime_cinema_showtime20190606

du_amap_shoppingmall_indoor_201903_d4

du_amap_shopping_mall_info_2017

du_amap_ship_201909

Quiero tablas que comienzan con "du_amap_" y al final con el año / mes, por lo que en las tablas anteriores, sólo quiero el cuarto. A continuación, en I, carácter de escape (el personaje contragolpe \) debe ser \\. "^" Significa el inicio y "$" significa el final.

^ Pueden eliminar, pero no porque usamos puede funcionar $ "grep".

keyword_all <- '^ du_amap _ + 2 \\ d {5} $' 
keyword_table <- grep (keyword_all, table_info $ Tables_in_risingdata, valor = T)

 str_extract_all es una función que sólo filtra los caracteres que se ajusta al patrón. Los siguientes códigos extraen los últimos seis números: año y mes

table_name_body <- 'amap_cvs_citycount' 
meses <-str_extract_all (cadena = keyword_table [p], modelo = '\\ d +.')%>% as.character ()

 

 * Significa que el patrón delante de él aparecerá una o más veces, | medios o, y. significa cualquier carácter. El siguiente códigos medios borrar "du_amap_" y "_201 ..".

la palabra clave <- gsub ( '*. amap_ | _201 *', '', table_name_body) 
shoppingmall_amap $ name <-gsub ( '(\\ (\\ *))', "", shoppingmall_amap $ nombre)

 

latitud y longtitude

\\ d {2} [.] \\ d +

 

 encontrar china

[\ u4E00- \ u9FA5 \\ s] + caracteres #many, incluido el espacio 
[\ u4E00- \ u9FA5] + #many caracteres, sin incluir el espacio 
[\ u4E00- \ u9FA5] carácter #one

 

2.Python

 paquete

import re

 Encuentra digital, pitón escapó atención aquí sólo \, sino en escapar a dos R: \\

pattern1 = re.compile (r '\ d +')

 Aquí hay una tabla de números de encontrar en cada línea (080) al comienzo de

pattern1 = re.compile (r '\ (080 \) \ d +') 
fixed_line_all = pd.DataFrame () 
para i in range (len (calls_pd [0])): 
        fixed_line = pattern1.findall (calls_pd [0] [i ]) 
        fixed_line_all = conjunto (fixed_line_all) .union (fixed_line) 
fixed_line_all = pd.DataFrame (fixed_line_all)

 Aquí comienza con la extracción de los cuatro primeros dígitos 7,8,9

pattern2 = re.compile (r '^ (7 \ d {3} | 8 \ d {3} | 9 \ d {3})') 
para i in range (len (fixed_line_bind [1])): 
        mobile_line = pattern2 .findall (fixed_line_bind [1] [i]) 
        mobile_bang = conjunto (mobile_bang) .union (mobile_line) 
mobile_bang = pd.DataFrame (mobile_bang)

 

 

 

Supongo que te gusta

Origin www.cnblogs.com/yuxuan320/p/12528009.html
Recomendado
Clasificación