Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我的regexp(re.sub)、重音(拉丁-1模式)有什么问题?_Python_Regex - Fatal编程技术网

Python 我的regexp(re.sub)、重音(拉丁-1模式)有什么问题?

Python 我的regexp(re.sub)、重音(拉丁-1模式)有什么问题?,python,regex,Python,Regex,我是python新手布伦德 试图提取并用正则表达式替换文件中的子字符串 我的模式: (u'^([a-Z\xc3\xa1\xc3\xa9\xc3\XCD\xc3\xc3\xc3\xc3\xc3\xc3\xc3\XC2\xc3\xc3\xc3\xc3\XC2\xc3\xc3\XCA\xc3\xb4]。)你好,Philoshilos,你能编辑你的问题,让它更清楚你遇到了什么错误,到底是什么问题吗?好的。你有充分的理由仍然使用Python 2.7吗?它在2015年进入关闭阶段,并于2020年1月1日正式

我是python新手布伦德

试图提取并用正则表达式替换文件中的子字符串

我的模式:


(u'^([a-Z\xc3\xa1\xc3\xa9\xc3\XCD\xc3\xc3\xc3\xc3\xc3\xc3\xc3\XC2\xc3\xc3\xc3\xc3\XC2\xc3\xc3\XCA\xc3\xb4]。)你好,Philoshilos,你能编辑你的问题,让它更清楚你遇到了什么错误,到底是什么问题吗?好的。你有充分的理由仍然使用Python 2.7吗?它在2015年进入关闭阶段,并于2020年1月1日正式停止使用。该街区的所有其他孩子都使用了一个更晚的版本版本(我们现在升级到3.8)。顺便说一句,这个范围
a-Z
是个问题。GREP按Unicode字符代码排序,这个范围实际上是无效的。这就像提供一个范围
h-b
,这也不起作用。正射仪,
a-Z
是无效的。或者,使用
a-zA-Z
# encoding: utf-8
# encoding: iso-8859-1
# encoding: win-1252

#coding: utf-8
import json
import sys
import codecs
import re
from datetime import datetime

#import os
#import fileinput


def myReplace(filename, replacePattern):
    contador = 0
    begin  = datetime.now() 
    with codecs.open(replacePattern, 'r', encoding='latin-1') as f:
        replacePattern_json = json.load(f)

    with codecs.open(filename, 'r', encoding='latin-1') as f:
        filedata = f.read()

    for pattern in replacePattern_json['padrao']:
        print(pattern['buscar'] , pattern['substituirPor'])
        print ('este padrão acima sera compilado agora')
        buscarPor = re.compile(pattern['buscar'], re.X)
        substituirPor = re.compile(pattern['substituirPor'])
        filedata = re.sub(buscarPor , pattern['substituirPor'], filedata)
        contador +=1

    newfilename = codecs.open ("new_"+ filename.split('.')[0] + ".xml","w+", encoding='utf-8')
    newfilename.write(filedata)
    newfilename.close()
    end =  datetime.now()
    timeelapsed = end -begin
    print(timeelapsed.seconds)
if __name__== "__main__":
    myReplace(sys.argv[1], sys.argv[2])

{
         "buscar":"^([a-Záéíóúàãâõâêô].*?)<",
         "substituirPor":"<denominacao>$1</denominacao><"
}
Traceback (most recent call last):
  File "pageConverter.py", line 40, in <module>
    myReplace(sys.argv[1], sys.argv[2])
  File "pageConverter.py", line 28, in myReplace
    buscarPor = re.compile(pattern['buscar'], re.X)
  File "/usr/lib/python2.7/re.py", line 194, in compile
    return _compile(pattern, flags)
  File "/usr/lib/python2.7/re.py", line 251, in _compile
    raise error, v # invalid expression
sre_constants.error: bad character range