RegExp -- java

来源:互联网 发布:仿射变换矩阵求解算法 编辑:程序博客网 时间:2024/05/18 02:32

(?i)(?-i) 不区分大小写

(?:) 分组

(?<=) 间隙前方允许的

(?<!) 间隙前方不允许的

(?=) 间隙后方允许的

(?!) 间隙后方不允许的

[^] 注意小尖号在大括号里面表示不允许出现的

^ 表示开始

$ 结束

.*? 以最小匹配

----!java

平衡:

(java(c++)


<[^<>]*(((?'Open'<)[^<>]*)+((?'-Open'>)[^<>]*)+)*(?(Open)(?!))>


<                         #最外层的左括号
    [^<>]*                #最外层的左括号后面的不是括号的内容
    (
        (
            (?'Open'<)    #碰到了左括号,在黑板上写一个"Open"
            [^<>]*       #匹配左括号后面的不是括号的内容
        )+
        (
            (?'-Open'>)   #碰到了右括号,擦掉一个"Open"
            [^<>]*        #匹配右括号后面不是括号的内容
        )+
    )*
    (?(Open)(?!))         #在遇到最外层的右括号前面,判断黑板上还有没有没擦掉的"Open";如果还有,则匹配失败


>                         #最外层的右括号

原创粉丝点击