Leetcode_10正規表現マッチング[]

記事のディレクトリ:

  • タイトル
  • スクリプトとノート
  • スクリプトロジック
  • ご注意ください

トピック:

サポート「」と「*」正規表現のマッチングでを実装するためにあなたを招待し、あなたの文字列sと法pを与えます。

「」は任意の単一文字一致
『*』マッチがゼロまたはそれ以上の前述の要素のことを
、いわゆるマッチングは、文字列の文字列の全体ではなく一部を覆うようにします。

説明:

sが空であってもよく、小文字のみからAZ。
pは*空であるとAZ、および文字。とから、小文字のみが含まれていてもよいです。
例1:

入力:
S = "AA"
P = "A"
出力:偽
の解釈: ""文字列全体"AA"に一致することはできません。
例2:

入力:
S =「AA」
P =「A *」
出力:真の
説明:「*」マッチ「」は複数の要素は、この要素の前にあること、ゼロまたは上記の代表です。したがって、文字列は「AA」「」回繰り返されるとみなすことができます。
例3:

入力:
S = "AB&"
Pは= "*。"
出力:真の
説明: "*"は任意の文字の意味はゼロまたはそれ以上のマッチを( '*')( '')。
例4:

入力:
S = "AAB"
P = "C * A * B"
出力:真の
説明: 'C'が0である場合'*'手段''は一度繰り返され、さらに、ゼロまたはので。だから、文字列「AAB」を一致させることができます。
例5:

入力:
S = "ミシシッピ"
P = "MIS * IS * P *。"
出力:偽


そして、スクリプト注: [使用:64msの]

クラスのソリューション:クラス#定義
     DEF(:STR、P:自己、S STR)IsMatchを- > BOOL:#は、メソッドやパラメータ、ノートを定義するブール型の出力値
        P1 = ' ^ ' + P + " $ 文字列を追加する前に、モデルが#^と$一致」
        IF re.match(P1、S、フラグ= 0):マッチが成功した場合、それ以外の場合は、間違った文入力し、正しい文を#を
             リターン(真)#成功した試合を、真が返されますブール値
         、他リターン(偽)#マッチが失敗したが、Falseのブール値が返されます

下記のリンクを共有するために、[シェルで主に使用egrepの正規表現が一致するように拡張]されています。私は、この問題を解決するためにシェルを使用しています

https://blog.csdn.net/weixin_43428906/article/details/102676307

 


 スクリプトロジック:

  • 私はこの質問に長い時間情報を検索する、シェルのpython3発見された正確に一致はありません[はgrep -w]文字列として表現モデルと一致している必要があり、「R」のパラメータを運ぶために、文字列、およびマッチングモデル、いわゆる、 P1が可変整合パターン:モードは、次の変数を使用できませんre.match(r'p1」、S、フラグ= 0)がサポートされていません
  • 長い時間のために考えて、私はあなたが実際に完全一致のシェルで同様の効果を得ることができ、対応する中間アスタリスク記号とピリオド文字で、それぞれ前面および背面にある「^」と「$」を使用することができますことを発見しました
  • python3のアスタリスク記号と象徴タイトルの要件に合致シンボル周期が、正確な試合の前とマッチングパターン缶に制限を追加した後、それを行うことはできませんで

 

注意: 

  • 実際に、私は自分の環境にあったテストを続けてきた、あなたはタイトルに応じて対応する「偽」または「真」を返すことができます。しかし、まだそれはあまりにも卵を傷つけることはできません!これは、コンパイラが戻りコードは、間違ったガイドラインへの要求の対象であるブール値、である必要があり、さもなければ、私はお風呂に行かなければならないということを発見しました!ピットの父!

 

 

 

 

おすすめ

転載: www.cnblogs.com/mailong/p/12003515.html