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

时间:2018-08-15 09:28:00

标签: 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 version)(.*)(?=encoding="UTF-8"?>)

但是它不起作用:(

1 个答案:

答案 0 :(得分:2)

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

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

详细信息

  • (?s)-与 .匹配新行选项相同-使.匹配换行符
  • <\?xml version-一个<?xml version子字符串(请注意,?应该转义以匹配文字问号)
  • .*?-尽可能少包含0个字符
  • encoding="UTF-8"\?>-encoding="UTF-8"?>子字符串。
  • \s*-任意0 +空格字符。

设置/证明:

enter image description here