如何在以下方面用空格和数字拉单词



我有以下几行:

  • F. Scott Fitzgerald的《大盖茨比》(1925年(是一部简短的小说。
  • 搏击俱乐部是查克·帕拉赫尼克(Chuck Palahniuk(的1996年小说。

我必须选择以的作家名字,并且它是写的;分别为1925年和1996年。我想的是,我需要几条言论;一种仅用于选择d+和另一种用于选择作者名称的数字。对于作家,我制作了此正则是(https://regex101.com/r/z55yz3/1(,但由于.和Space的存在,它不应工作。

[0-9]{4}-取4位数字

bby-获取word'by'和

(?:s+[A-Z][w.]+)+-选择以下单词和缩写,以大写字母开头

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

演示和说明

您可以像这样使用此正则 /^.+? 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];

最新更新