Regex 소개

비전 일반



En este blog veremos una introducción a regex en python. 중요한 것은 regex saber manipular strings y utilizar el modulo re, 가장 희귀한 기본 요소의 연속입니다.

구문 요구사항


  • 문자열

  • para este ejercicio recorreremos un string para aplicar regex más fácilmente vamos despedazar un string en substrings, esto lo logramos con el metodo split

    .split(separator,maxsplit)
    


    sus parametros opcionales 아들 구분 기호 y maxsplit
    구분자: sirve para indicar en que carácter del string se va a hacer la separacion del string, por defecto es un espacio en blanco
    maxsplit: es el número máximo de veces que se separara la 문자열

    예시:

    example_string = "Hello World"
    print(example_string.split())
    


    산출:

    >> ["Hello","World"]
    


  • 모듈로 다시

  • 정규식 일반 표현식 또는 정규 표현식을 사전에 모듈로 사용하는 것이 원칙입니다.

    정규식: 아들 usados ​​para "filtrar"하위 문자열 específicos de textos, estan compuestos de caracteres y metacaracteres.

    특징: hacen match consigo mismo.

    ejemplo: todas los caracteres conocidos incluso los especiales.
    metacaracteres: son propios de regex hacen match a caracteres específicos o números
    ejemplo: \d \D \w \W \s \S ^ $ [] . |
    cuantificadores: indican cuantas veces aparece o no un caracter o metacaracter
    ejemplo: ? {} + *



    예엠플로 1



    Queremos extraer los substrings que contengan un numero.

    import re
    example_string = "4abc a solo $100"
    pattern = re.compile(r'\$?\d{1,3}')
    for numero in example_string.split():
        if pattern.match(numero):
            print(numero)
    


    산출:

    >> 4abc
    >> $100
    


    설명


  • Primero importamos el modulo .
  • teniendo example_string queremos extraer los substrings que contengan un número.
  • Aqui generamos el patron o "pattern", tenemos dos numeros el primero empieza con un signo de dolor "$"como es un metacaracter lo escapamos con un backslash, pero como el otro número no tiene agregamos el cuantificador "?"que indica que el carácter a la izquierda puede aparecer cero o una vez, luego ponemos el metacaracter\d que indica que hay un dígito de 0 a 9 y con el cuantificador "{}"indicamos que el numero aparece 1 a 3 veces, lo cual esta bien ya que tenemos el 4 de 1 dígito y el 100 de 3 dígitos.
  • recorremos el string, con un bucle for, dividiéndolo en una lista de substrings con split()
  • vemos si hace match el patron con el substring en numero, "filtramos"el 문자열
  • finalmente imprimimos el numero

  • 예엠플로 2



    Tenemos un texto del que queremos extraer 해시태그.

    import re
    my_string = "esta es mi canción #favorita de toda la vida #4ever"
    hashtags = []
    for hashtag in my_string.split():
        if re.match(r'\#4?[a-z]',hashtag):
            hashtags.append(hashtag)
    print(hashtags)
    


    산출:

    >> ["#favorita","#4ever"]
    


    설명


  • 프리메로 임포타모스 엘 모듈러
  • teniendo my_string queremos extraer los 해시태그
  • creamos una lista de hashtags para contener los hashtags filtrados
  • recorremos el string, con un bucle for, dividiéndolo en una lista de substrings con split()
  • vemos si hace match el patron, esta vez para variar lo generamos en el mismo método, con cada substring. En el patron generado primero escapamos el 해시태그, luego ponemos un 4 con el cuantificador "?"ya que un 해시태그 tiene 1 cuatro y el otro tiene 0 cuatros y ponemos un rango con "[]", un rango sirve para indicar un rango de caracteres, indicamos de la a-z en minúsculas, ya que los 해시태그 son en minúsculas, asi abarcamos todo 엘 해시태그.
  • agregamos a la lista de hashtags los substring que sean 해시태그
  • 마지막으로 해시태그를 목록에 추가합니다.
  • 좋은 웹페이지 즐겨찾기