2016-11-06 15 views
1

"shivam"(引用符なし)で始まる文字列を入力してください.my正規表現は(?=shivam\s)\w+ ですが、shivamの後にスペースが一致しません。空白文字列の正規表現のヘルプが必要

入力は次のとおりです。

shivam gupta 

期待出力は次のようになります。任意のスペース両側なし

gupta 

。私の出力はshivam guptaです。

+1

先読みに '\ s'がありますが、主な消費パターンは一致しません。 '^(?= shivam \ s)\ w + \ s +'( '^'は文字列の先頭にマッチします)を使います。それとももっと簡単です: '^ shivam \ s'。最高です 's.startswith(" shivam ")' –

+0

私はすべての結果を "shivam"を除きたいが、それで始まる –

+1

言語は何ですか? '^ shivam \ s +(。*)'を使い、グループ1の内容を取得してください。見通しを使用してhttps://regex101.com/r/mnPY3n/1 –

答えて

2

あなたは

import re 
s = "shivam gupta" 
m = re.match(r"shivam\s+(\w+)$", s) 
if m:     # Check if the pattern matches the string 
    print(m.group(1)) # print only Group 1 contents 

正規表現の使用のビットを学びたいのであればPython demo

re.match方法はだけなのでshivamは、開始時に検索され、文字列の先頭で検索を参照してください。次に\s+が1つ以上の空白に一致し、最後に(\w+)$と一致し、グループ1に1つ以上の単語の文字にを、次に文字列の末尾に$が取り込まれます。

グループ1のコンテンツには、一致オブジェクトの.group(1)(ここでは、m)でアクセスします。

s = "shivam gupta" 
if s.startswith("shivam "): 
    print(s.split()[1]) # or even print(s[s.find(" "):]) 

Another demo

ただし、文字列の方法、ここで分割操作を使用することができます。

+1

あなたは私の側から感謝する必要があります –

関連する問題