2016-10-24 1 views
0

初めてのポスターはこちら。私はプログラミングでは偉大ではないが、私はそれに取り組んでいる。私はPythonのクラスの割り当てを与えられていると私は、次の使命を帯びてきた。正規表現

  • あなたは、キーボードから読み込まラインでの検索をされます三つの言葉を考える必要があります。 3つの言葉はあなたのファーストネーム、あなたの好きな色、そしてあなたの好きな季節です。

  • あなたのプログラムは、ユーザに行を入力するよう促します。正規表現を使用して、各単語を行で検索します。大文字と小文字が混在していたり​​、通常使用しているものとは違っていても、その言葉を探したいと思う。

  • あなたの名前が見つかったら、「おい、私の名前はNAMEです。」という出力を表示する必要があります。NAMEは入力された内容(大文字小文字を含む)で置き換えられます。

  • あなたが好きな色を見つけたら、「ああ、私は色の色が好きです。」と出力してください。

  • あなたが好きな季節を見つけたら、「私はSEASONが最高のシーズンだと思う」という出力をプリントアウトする必要があります。SEASONはタイプされたもの(ケースを含む)に置き換えられます。

これは私がこれまで試したものです:

import re 

input = raw_input("Please input a sentence stating your name, your favorite color, and your favorite season: ") 

x = "My name is DoTNeT." 
name = input.split(",")[1] 
z = re.search(name, x) 

if z == None: 
    pass 
else: 
    print x 

は、私はここに正しい考えを持っていると思う、私はそれは適切ではないことを知っている...私はまだですので、私はイライラしていますPythonを学ぶと、それについて話す方法を学ぶことになります。なぜ私が間違っているのか、それをどう修正する必要があるのか​​を正確に言う方法はわかりません。私は誰かを探しているのではなく、私のためにこれを答えるだけで、私はそれを理解したい。まったく何でも役立ちます。ありがとう。

+0

カンマの後の入力の2番目の「チャンク」(「カンマで区切って、それらの2番目に「私の名前はDoTNet」を検索しようとしました」の後ろに「My name is DoTNeT」を検索しようとしているようですチャンク)。ユーザが入力した 'DoTNet'(大文字と小文字を区別しない)を探すべきではないでしょうか?意味は、入力全体がテキスト( 'str'、むしろ)で、' DoTNet'を見つける必要がありますか? BorrajaXが言ったことは何でも – BorrajaX

+1

。また、適切なキーワードをre.IGNORECASで試してみると、re.sub – rnbcoder

答えて

0

あなたが言及したように、あなたは実際のコードではない提案が必要です(私はそれが好きでした)。

  • 使用string.split()文字列を置き換えるために、サブストリングとre.sub()をチェックする単語に(Tutorial link

  • re.search()をあなたの文字列を分割する:ここでは、役に立つかもしれませんがいくつかあります。たとえば :

    >>> import re 
    >>> if re.search('hello', 'yes hello world'): 
    ... print 'match' 
    ... 
    match # prints match as "hello" is present in "yes hello world" 
    

をお読みください:Regular Expression Syntax文書your_wordは、文字列としてでyour_wordをチェックします。大文字小文字を区別しない検索の場合は特にre.IGNORECASEです。

+1

は 'hEllo'が' yes hello world'と入力された場合は 'yes hEllo world'と表示されます。 – rnbcoder

+0

彼が言及したように、彼は実際のコードを必要としません。彼は自分自身の問題を解決したい。私はちょうど彼にパスを示しています:) –

+0

:D私は参照してください。あなたはre.searchのために '。*'は必要ありません。それはre.matchのために必要です。 – rnbcoder