2017-04-23 5 views
0

:F・スコット・フィッツジェラルドによってRegexで空白と数字を含む単語を取り出す方法は?私は数行次いる

  • 華麗なるギャツビー(1925)かかり短い小説です。
  • Fight ClubはChuck Palahniukの1996年小説です。

の後に続く作家名を選んで、と書かれた年を選択する必要があります。 1925年と1996年。私が考えたことは、私はRegExのカップルが必要です。 \d+とその他の作家名をピックアップするだけで数字を集めるためのものです。私はこの正規表現(https://regex101.com/r/Z55yz3/1)を作成しましたが、.とスペースの存在のために動作しません。

+0

http://jsfiddle.net/kumarrishikesh12/Pama9/24/ ...今年は私が単に同様に '' \ dの+を実行して、年を見つけることができますRïshïKêshKü[email protected] –

+0

を探すためのものです。そのような長いコードの必要はありません。 – Volatil3

+0

ライターの名前には '#(by)\ s *(。*)\。?#g'で試してみることができます:-) https://regex101.com/r/Z55yz3/4 – hassan

答えて

1

[0-9]{4}この正規表現を使用することができます - 4桁の番号

\bbyを取る - '' によって単語を取得し、

(?:\s+[A-Z][\w.]+)+ - 単語や略語を以下の選択、大文字で始まる

([0-9]{4}).*(?:\bby)((?:\s+[A-Z][\w.]+)+) 

Demo and explanation

0

あなたは/^.+?\ BY (.+)$/is

$string_text = 'The Great Gatsby (1925) by F. Scott Fitzgerald is a short novel which takes.'; 
preg_match("/^.+?\ BY (.+)$/is" , $string_text, $match); 
echo $match[1]; 

このような
関連する問題