Estou atrás de um regex que validará um código postal completo e complexo do Reino Unido somente dentro de uma sequência de entrada. Todos os formulários incomuns de códigos postais devem ser cobertos, além do usual. Por exemplo: Partidas CW3 9SS SE5 0EG SE50EG se5 0eg WC2H 7LT Sem correspondência …
Como posso substituir foobarcom foo123bar? Isso não funciona: >>> re.sub(r'(foo)', r'\1123', 'foobar') 'J3bar' Isso funciona: >>> re.sub(r'(foo)', r'\1hi', 'foobar') 'foohibar' Eu acho que é um problema comum quando se tem algo parecido \number. Alguém pode me dar uma dica sobre como lidar com isso?
No Python, a (?P<group_name>…) sintaxe permite referir-se à string correspondente através de seu nome: >>> import re >>> match = re.search('(?P<name>.*) (?P<phone>.*)', 'John 123456') >>> match.group('name') 'John' O que significa "P"? Não encontrei nenhuma dica na documentação oficial . Gostaria muito de ter idéias sobre como ajudar meus alunos a …
Estou tentando analisar o seguinte tipo de string: [key:"val" key2:"val2"] onde há chave arbitrária: pares "val" dentro. Eu quero pegar o nome da chave e o valor. Para aqueles curiosos, estou tentando analisar o formato de banco de dados do task warrior. Aqui está a minha string de teste: [description:"aoeu" …
Eu tenho uma lista de palavras: bau ceu diu fou gau Quero transformar essa lista em: byau cyeu dyiu fyou gyau Tentei sem êxito o comando: :%s/(\w)(\w\w)/\1y\2/g Como isso não funciona, o que preciso alterar para que os grupos de captura de expressões regulares funcionem no Vim?
Estou usando rubular.com para construir meu regex e sua documentação descreve o seguinte: (...) Capture everything enclosed (a|b) a or b Como posso usar uma expressão OR sem capturar o que está nela? Por exemplo, digamos que eu queira capturar "ac" ou "bc". Eu não posso usar o regex (a|b)(c) …
Existe alguma maneira de substituir diretamente todos os grupos usando a sintaxe regex? A maneira normal: re.match(r"(?:aaa)(_bbb)", string1).group(1) Mas eu quero alcançar algo assim: re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)") Quero construir a nova string instantaneamente a partir dos grupos que o Regex acabou de capturar.
Eu tenho esse código e quero saber se posso substituir apenas grupos (não todos os padrões) no Java regex. Código: //... Pattern p = Pattern.compile("(\\d).*(\\d)"); String input = "6 example input 4"; Matcher m = p.matcher(input); if (m.find()) { //Now I want replace group one ( (\\d) ) with number …