Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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 这个正则表达式的解释_Regex - Fatal编程技术网

Regex 这个正则表达式的解释

Regex 这个正则表达式的解释,regex,Regex,此正则表达式在之间匹配内容: ]+> 但这也可以通过使用下面的表达式来实现 第一个RE中方括号内的表达式不清楚 有人能解释一下它的意思吗?])+>是: Sequence: match all of the followings in order < Repeat NonCapturingGroup OR: match either of the followings Sequence: matc

此正则表达式在
之间匹配内容:

]+>

但这也可以通过使用下面的表达式来实现

第一个RE中方括号内的表达式不清楚

有人能解释一下它的意思吗?

])+>
是:

    Sequence: match all of the followings in order
    <
    Repeat
        NonCapturingGroup
            OR: match either of the followings
                Sequence: match all of the followings in order
                    "
                    Repeat
                        AnyCharNotIn["]
                        zero or more times
                    "
                    Repeat
                        AnyCharIn['"]
                        zero or more times
                Sequence: match all of the followings in order
                    '
                    Repeat
                        AnyCharNotIn[']
                        zero or more times
                    '
                    Repeat
                        AnyCharIn['"]
                        zero or more times
            AnyCharNotIn[ ' " >]
        one or more times
    >
顺序:按顺序匹配以下所有内容
<
重复
非捕获群
或:匹配以下任一项
顺序:按顺序匹配以下所有内容
"
重复
AnyCharNotIn[“]
零次或多次
"
重复
AnyCharIn['“]
零次或多次
顺序:按顺序匹配以下所有内容
'
重复
AnyCharNotIn[']
零次或多次
'
重复
AnyCharIn['“]
零次或多次
AnyCharNotIn['“>]
一次或多次
>
])+>
是:

    Sequence: match all of the followings in order
    <
    Repeat
        NonCapturingGroup
            OR: match either of the followings
                Sequence: match all of the followings in order
                    "
                    Repeat
                        AnyCharNotIn["]
                        zero or more times
                    "
                    Repeat
                        AnyCharIn['"]
                        zero or more times
                Sequence: match all of the followings in order
                    '
                    Repeat
                        AnyCharNotIn[']
                        zero or more times
                    '
                    Repeat
                        AnyCharIn['"]
                        zero or more times
            AnyCharNotIn[ ' " >]
        one or more times
    >
顺序:按顺序匹配以下所有内容
<
重复
非捕获群
或:匹配以下任一项
顺序:按顺序匹配以下所有内容
"
重复
AnyCharNotIn[“]
零次或多次
"
重复
AnyCharIn['“]
零次或多次
顺序:按顺序匹配以下所有内容
'
重复
AnyCharNotIn[']
零次或多次
'
重复
AnyCharIn['“]
零次或多次
AnyCharNotIn['“>]
一次或多次
>

机械地说,第一个正则表达式匹配尖括号()之间的任何字符串,但受以下限制:


  • 单引号或双引号(SDQ)后面必须紧跟着同一类型的第二个单引号或双引号(SDQ)。例如,
    是有效的,但是
    是有效的,但是
    机械地说,第一个正则表达式匹配尖括号()之间的任何字符串,受以下限制:


  • 单引号或双引号(SDQ)后面必须紧跟着同一类型的第二个单引号或双引号(SDQ)。例如,
    是有效的,但是
    是有效的,但是
    此表达式检查标记内的引号是否平衡。
    [^”]*
    符号表示非
    的任何内容。不过,我不认为这些表达式是等价的。第二个是匹配字母和数字。备注:
    只匹配
    之间的“单词字符”或“小数”元素,因此这两个正则表达式的作用不同。第一个将匹配,例如
    ,但第二个将不匹配。@polkduran Oh。。。我实际上是在html标签上测试它们,这就是为什么我认为它们做同样的事情!感谢您指出…表达式检查标记是否也为空。IMO
    ]+)+>
    会更好。此表达式检查标记内的引号是否平衡。
    [^”]*
    符号表示任何不是
    的内容。不过,我不认为这些表达式是等价的。第二个是匹配字母和数字。备注:
    只匹配
    之间的“单词字符”或“小数”元素,因此这两个正则表达式的作用不同。第一个将匹配,例如
    ,但第二个将不匹配。@polkduran Oh。。。我实际上是在html标签上测试它们,这就是为什么我认为它们做同样的事情!感谢您指出…表达式检查标记是否也为空。IMO
    ]+)+>
    会更好。这是你自己做的吗?或者你有一个工具来做这个分析吗?用更详细的伪代码手动写出正则表达式是相当简单的,一个工具甚至不是Nessiary(尽管它可能会有帮助)。你自己做过吗?或者你有一个工具来做这个分析吗?用更详细的伪代码手动写出正则表达式是相当简单的,一个工具甚至不是Nessiary(尽管它可能会有帮助)。
    <(?:[^'"]>)+>
    
    <(?:"[^"]*"|'[^']*'|[^'">])+>
    
    <(?:"[^"]*"["']*|'[^']*'["']*|[^'">])+>