我很困惑Perl的前瞻(?=regex)
和後視(?<=regex)
,需要一些幫助來理解它。由Perl的前瞻和後視困惑
是否先行意味着look to the right of (?=regex)
是否意味着反向預搜索look to the left of (?<=regex)
我也注意到,回顧後(?< =正則表達式)只與固定寬度的正則表達式的作品,我用一個簡單的例子來問下一個問題。
例如,請提供以下幾行代碼,我想匹配數字,但前提是它不在註釋行中。所以,我想下面
/(?<!^#)\d/
match a number if the line does not start with #
這並不工作,它應該匹配2
,不1
#Comment 1
my $number = 2
,是因爲它不是一個固定的寬度回顧後發正則表達式?
感謝
你想要解析什麼語言? –
我只是教自己一些Perl的正則表達式,僅用於例子。 –
我明白,但沒有上下文和規則,你的問題沒有任何意義。 –