誰かが私がPerlからPythonに変換してくれるのを助けてくれるのだろうかと思っています。しかし、私はPythonの正規表現と闘うが、これはとにかくperlほど強力ではない。 forループで反復されている別のリストを検索するには、除外値のリスト(exemptions_list)をどのように使用しますか。問題は、forループの値が検索の免除とわずかに異なることです。文字列を使ったPython正規表現の問題
免除の1つは「default」という文字列ですが、検索する変数はdefault_10またはdefault_20です。同様にnoneは検索パターンですが、共有はnone_20などと呼ばれます。他のサブプロセス出力から来た共有を繰り返しているので、検索パターンを繰り返し処理したくはありません。だから、基本的にデフォルトではなくdefault_20を探しているので、文字列は決して見つけられません。 shared_listから入ってくる変数を分解して、pythonが変数のデフォルトを使ってexemptions_listの文字列を再度検索する方法を教えてください。シェア変数は、異なるシステムのサブプロセス出力に対して異なる方法で生成される。
多くのありがとう
Perlで簡単です。
if ($share =~ /^.*_[\d\d]/ && $share !~ /$cust_id|$exemptions/) {
のPython:文字列から
exemption_list = "none temp swap container"
shares_list [' this is dynamic and comes in with values such as none_20 temp_20, testtmp etc ]'
def process_share_information(shares_list, customer_id):
for share in shares_list:
share_match = re.search(share, exemption_list)
if not share_match:
print 'we have found a potentially bad share not in exemptions'
のためのつの結果が必要な場合は、すべての質問に[最小、生存、完全な例](https://stackoverflow.com/help/mcve)を教えてくださいスタックオーバーフロー。それが現れても、コードは実行されません。 –
コードが実行されていた場合に非常に役立つかどうかわからないのはなぜですか?正規表現について少し助けを求めるだけのプライベートコードのページを投稿するつもりはありません。 – Stu
@Stu:ケビンが意味することは、あなたのコードが有効なPythonではないということです。構文エラーがあります。 – SiHa