Regex 查找带有正则表达式的文本句子,其中句子以特殊字符开头和结尾

Regex 查找带有正则表达式的文本句子,其中句子以特殊字符开头和结尾,regex,notepad++,Regex,Notepad++,我有一个很大的xml文件,每个部分都以这个句子开头 <?xml version='1.0' encoding='Cp1252' ?> <RESULTS> <ROW> <COLUMN NAME="TELEGRAMM"><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <Report xmlns="http:///Report"... ) 但它不起作

我有一个很大的xml文件,每个部分都以这个句子开头

<?xml version='1.0'  encoding='Cp1252' ?>
<RESULTS>
    <ROW>
        <COLUMN NAME="TELEGRAMM"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>

<Report xmlns="http:///Report"...

)

但它不起作用:(

您可以使用以下正则表达式替换为空字符串:

(?s)<\?xml version.*?encoding="UTF-8"\?>\s*
(?s)\s*
详细信息

  • (?s)
    -与启用的
    匹配换行符选项相同-启用
    匹配换行符
  • 子字符串
  • \s*
    -任何0+空格字符
设置/证明:

尝试
(?s)
(?1.)您想要剪切什么?删除前后两个
,或者删除?3.)您的模式中与…
encoding=“UTF-8”
匹配的前向视图如何?“向前看”将保留此部分,而不会删除它。看起来很混乱。首先,您需要通过反斜杠转义
,否则它将被视为量词。实验在。我希望削减所有,这样会工作,不是吗。
(<?xml version)(.*)(?=encoding="UTF-8"?>)
(?s)<\?xml version.*?encoding="UTF-8"\?>\s*