プログラミングの分野では、正規表現は文字列の照合と処理のための強力なツールです。 Python では、split 関数は、文字列を部分文字列に分割するために使用される一般的に使用される正規表現関数です。ただし、Golang を使用する開発者にとっては、Python の分割関数と同じ機能を Golang で実現する方法を疑問に思うかもしれません。この記事では、PHP エディター Zimo が、この強力なツールをより効果的に活用するために、Golang で正規表現の分割関数を同等に使用する方法を紹介します。
正規表現に一致する次の Python コードがあります::
リーリー 次の出力が得られます::
['', '', 'h', 'e', '', '', 'l', '', 'l', '', 'o', '', ',' 、「 」、「 」、「、w」、「、「h」、「e」、 」、「、r」、「e」、 、「、」 '、'、' a' 、 ''、 'r'、 'e'、 ''、 ''、 '、 ''、 'y'、 ''、 'o'、 ''、 'u '、''、' '、'1.1 '、''、''、'?'、''、'']
golang
を使用して上記の出力を取得しようとしています。
次の出力が得られます::
リーリー正規表現は言語に依存すると思うので、Python で使用される split()
関数は golang
には役に立ちません。 regexp
パッケージの複数の find*()
関数を使用しましたが、上記の Python プログラムの出力を提供する関数が見つかりませんでした。
出力文字列配列の目的は、float
に変換できない文字を分離することです。文字列が float として解析できる場合は、移動平均を計算します。
最後に、すべてを結合して、Linux watch
コマンドのように出力を表示します。
さらに詳細や背景が必要ですか?喜んで共有します。
###助けてくれてありがとう! 回避策とりあえず、私のユースケースに適したものを入手しました。これはpython とまったく同じ形式ではありませんが、空の文字列/文字がありません。
split 関数と
findallstring 関数を使用して、目的の出力を取得しました。
リーリー
リーリー
私はregex があまり得意ではありませんが、どういうわけか上記の方法は私のユースケースでは機能します。
regex を使って問題を解決すると、最終的には 2 つの問題が発生するという同僚の冗談を聞いたことがあります。 ! !
以上がgolangで同等のPython正規表現分割関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。