私は、pip install
コマンドを使用してインストールされた Python パッケージの名前と場所を抽出する必要があるプロジェクトに取り組んでいます。
Web ページには、複数行のテキストと bash コマンドを含む code
要素が含まれています。このテキストを解析して、テキスト内のパッケージとその場所を検索できる JS コードを作成したいと考えています。
たとえば、テキストが次の場合:
リーリーこれと同様の結果を取得したい:
リーリーこの機能を JavaScript で実装するにはどうすればよいですか?
P粉1945410722023-09-08 10:50:01
これはオプションの解決策です。正規表現の代わりにループを使用してみてください:
アイデアは、テキスト pip install
を含む行を見つけることです。これらの行が、私たちが関心のある行です。次に、コマンドを単語に分割し、コマンドのパッケージ部分に到達するまでループします。
まず、パッケージの正規表現を定義します。パッケージは pip install 'stevedore>=1.3.0,<1.4.0' "MySQL_python==1.2.2"
:
NOTE名前付きグループ、package_part
は「バージョン付きパッケージ」文字列の識別に使用され、package_name
は抽出に使用されます。パッケージ名。
コマンドライン引数には、options と flags の 2 種類があります。
options の問題は、次の単語がパッケージ名ではなく、options 値であることを理解する必要があることです。
そこで、最初に pip install
コマンドのすべてのオプションをリストしました:
次に、引数を見つけたときに何をするかを決定するために後で使用する関数を作成しました。 リーリー
この関数は、認識されたパラメータとコマンドの残りの部分を単語に分割して受け取ります。(ここで「インデックス カウンター」が表示されます。各発見の位置も見つける必要があるため、元のテキスト内の現在の位置を追跡する必要があります)。
関数の最後の数行では、
--option=something と
--option something の両方のケースを処理していることがわかります。
すべての操作では、テキスト内のどこにいるかを追跡するために
グローバル インデックス を更新する必要があります。このインデックスは、間違った部分文字列に陥ることなくテキスト内を検索して見つけるのに役立ちます。 を使用します。 IndexOf(str, counterIndex):
リーリー