回答:
非貪欲演算子?。そのようです:
.*?
非貪欲演算子は、可能な最短の一致を意味するものではありません。
アバブ
a.+?k 最後の3つの記号だけではなく、文字列全体(この例では)と一致します。
代わりに、可能な限り最小の一致を実際に見つけたいと思います。
つまり、 ' a'の最後の一致は、のすべての一致を許可しkます。
これを行う唯一の方法は、次のような式を利用することだと思います。
a[^a]+?k
cab。私の入力がでcaaacabあり、a.*?bそれを検索すると、内部の短い一致ではなく完全な文字列が返されます。どのようにして後方から検索しbますか?
START[^START]*?ENDとおりです(STARTとENDは開始文字と終了文字の正規表現です)。これは基本的に、「中間の文字に再度STARTが含まれないSTARTからENDまでのすべてに一致する」という意味です
abcabkとa.+?k、RegExは文字列全体と一致します。