我很难理解“超前”和“后向”的概念。例如,有一个字符串“aaaaaxbbbbb”。
如果我们看“x”,那么向前看是否意味着朝“bbbbb”或“aaaaa”看“x”?我的意思是方向。
最佳答案
如果正则表达式是x(?=insert_regex_here)
,它是(正)look * ahead *(向前或向前),换句话说,朝向“bbbb”。
它的意思是“找到一个x,然后跟着insert_regex_here
”。
如果正则表达式是(?<=insert_regex_here)x
,它是(正)外观*后面*,它向后或向后看,换句话说就是朝着“aaaa”。它的意思是“找到一个以insert_regex_here
开头的x”。
您还可以在否定的x(?!insert_regex_here)
后面加上否定的lookahead x
,意思是“后面没有insert_regex_here
后面的(?<!insert_regex_here)x
”,在insert_regex_here
后面有个否定的lookahead后面的意思是“x后面没有(?=
”。
(上面的(?<!
和ojit_code等都是Perl regex语法-语法可能会略有不同,具体取决于您的regex风格)。
我建议您阅读乍得在评论中提供的链接。 它有示例。
关于regex - 前瞻vs后向,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11621273/