我很难理解“前瞻”和“后顾”的概念。例如,有一个字符串“aaaaaxbbbbb”。如果我们看" x ",那么前瞻是指向" bbbbb "还是" aaaaa ",也就是说方向的问题。
我很难理解“前瞻”和“后顾”的概念。例如,有一个字符串“aaaaaxbbbbb”。如果我们看" x ",那么前瞻是指向" bbbbb "还是" aaaaa ",也就是说方向的问题。
x(?=insert_regex_here)
,那么这是一个(正向)前瞻,它向前看或者说朝向“bbbb”方向。它的意思是“找到一个x,其后面跟随着insert_regex_here
”。(?<=insert_regex_here)x
,那么这是一个(正向)后顾,它向后看或者说朝向“aaaa”方向。它的意思是“找到一个x,其前面跟随着insert_regex_here
”。x(?!insert_regex_here)
,意思是“x
之后不跟随着insert_regex_here
”,以及负向后顾(?<!insert_regex_here)x
,意思是“x
之前不跟随着insert_regex_here
”。(?=
和(?<!
等是Perl正则表达式语法,根据你所使用的正则表达式版本略有不同)。我建议您阅读Chad在评论中提供的链接,该链接含有示例。<
:P 正/负预测不需要那个第一个 <
。 (另外,所有这些尖括号的存在特别令人困惑 :P) - Steve Wang(?=<
而不是 (?=<
。我将删除那些 <>
,它们确实有点令人困惑 :P - mathematical.coffee