Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
Regex 正则表达式删除字符结束xml_Regex - Fatal编程技术网

Regex 正则表达式删除字符结束xml

Regex 正则表达式删除字符结束xml,regex,Regex,我试图创建一个正则表达式,以消除xml的多余部分 <?xml version="1.0"?> <node> <B/> </node>string1 string2 string1 string2 但当我把一个特征线,使一个匹配,不应该。如果有换行符或空格不匹配,我希望在xml的结束标记之后修复所有内容 谢谢 原始PCRE正则表达式如下所示 (2)在(定义)中,(((((((????????????????????????????)在上述两次

我试图创建一个正则表达式,以消除xml的多余部分

<?xml version="1.0"?>
<node>
<B/>
</node>string1
string2

string1
string2

但当我把一个特征线,使一个匹配,不应该。如果有换行符或空格不匹配,我希望在xml的结束标记之后修复所有内容


谢谢

原始PCRE正则表达式如下所示

(2)在(定义)中,(((((((????????????????????????????)在上述两次代码>)在以下两次代码:(??::[S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S)在上述两次代码:)在上述上述上述两次代码:((((()在以下以下以下以下以下以下以下以下)的代码:)在上述上述两次)在上述上述两次(((((()的)的)的)以及以及(以下以下以下以下以下以下以下以下以下以下以下以下以下)的)可能可能??????????)将将将将可能可能可能可能可能可能可能可能会将将(可能)的)的)在(可能会)在(以及(以下以下以下以下以下)可能)可能可能可能可能会)将将将将将,(,(,(,(>

替换为空字符串以进行清理

可以针对Java、JS等进行调整

易看版:

(?)
[\S\S]*(?&标记)
\K
)
[\S\S]*
(?(定义)
(?#(1开始)
(?>
<
(?:
(?:
/? 
[\w:]
\s*
/? 
)
|  
(?:
[\w:]
\s+
(?:
(?:
(?:“[\S\S]*?”)
|(?:'[\S\S]*?')
)
|  (?: [^>]*? )
)+
\s*
/? 
)
|  
\?
[\S\S]*?
\?
|  
(?:
!
(?:
(?:
DOCTYPE
[\S\S]*?
)
|  (?:
\[CDATA\[
[\S\S]*?
\]\]
)
)
)
|  (?:
--
[\S\S]*?
--
)
|  (?:
名单
[\S\S]*?
)
|  (?:
实体
[\S\S]*?
)
|  (?:
要素
[\S\S]*?
)
)
>
)
)#(一完)
)

请在问题正文中提供示例输入文本和您希望匹配的内容在您提供的示例中,您希望匹配的内容是什么?为什么不在组中捕获xml,然后保留xml并放弃其余内容?
 (?:
      [\S\s]* (?&tag) 
      \K 
 )
 [\S\s]* 

 (?(DEFINE)

      (?<tag>                       # (1 start)
           (?>
                <
                (?:
                     (?:
                          /? 
                          [\w:]+ 
                          \s* 
                          /? 
                     )
                  |  
                     (?:
                          [\w:]+ 
                          \s+ 
                          (?:
                               (?:
                                    (?: " [\S\s]*? " )
                                 |  (?: ' [\S\s]*? ' )
                               )
                            |  (?: [^>]*? )
                          )+
                          \s* 
                          /? 
                     )
                  |  
                     \?
                     [\S\s]*? 
                     \?
                  |  
                     (?:
                          !
                          (?:
                               (?:
                                    DOCTYPE
                                    [\S\s]*? 
                               )
                            |  (?:
                                    \[CDATA\[
                                    [\S\s]*? 
                                    \]\]
                               )
                          )
                     )
                  |  (?:
                          --
                          [\S\s]*? 
                          --
                     )
                  |  (?:
                          ATTLIST
                          [\S\s]*? 
                     )
                  |  (?:
                          ENTITY
                          [\S\s]*? 
                     )
                  |  (?:
                          ELEMENT
                          [\S\s]*? 
                     )
                )
                >
           )
      )                             # (1 end)
 )