わかりました、私の友人は、彼がコードの一部で見つけた正規表現で私に直面しました.私はまったく経験がありません. 私はそれを理解しようとしましたが、それはかなり基本的なことだと本当に思いますが、問題があります.
式は次のとおりです。^(.*?){0,1}>$
これは、さまざまなチュートリアルと定義から収集したものです。
^
は「開始」と$
終了を表すため、それらの間の式は、選択するために完全な文字列を記述する必要があります。*?
は遅延演算子です (つまり、最初に前の文字の 0 を取得しようとします。それが一致しない場合は、1、2、3 などになります)。(.*?)
したがって、これは「できるだけ少ない文字を取る」ことを意味する必要があります。(.*?){0,1}
:今、私にとってトラブルが始まります。「0回または1回、できるだけ少ない文字を使用してください」?^(.*?){0,1}>$
: 「可能な限り少ない文字を、0 回または 1 回、文字 > の後に末尾を付けてください」?
それは基本的に「>が文字列の最後にある場合はすべてを選択する」という意味ですか?私は混乱しています...誰かがこの(非常に基本的なものだと思います)問題に光を当てることができれば幸いです...
編集:わかりました、誤解を防ぐために、正規表現はこのコンテキストで使用されます:
.replace(/^(.*?){0,1}>$/,"$1/>");