Faits : A. En juin 2004, A._ a souscrit une assurance individuelle contre les accidents auprès de C._, Société d'assurances contre les accidents (ci-après: C._). La somme assurée en cas d'invalidité était de 100'000 fr. Les conditions générales d'assurance LAI 87 (ci-après: CGA) étaient applicables; les art. 8 et 9 CGA disposaient notamment: "8. Exclusions Sont exclus de l'assurance les accidents survenant: (...) en outre, les accidents f) résultant de crimes ou de délits commis intentionnellement par l'assuré; (...). 9. Extension de la garantie 9.1 «C._» renonce (...) b) à invoquer le droit que lui confère la loi de réduire ses prestations si elles deviennent exigibles par suite d'une faute grave du preneur, de l'assuré ou de l'ayant droit; (...)." Le 1er janvier 2005, le portefeuille d'assurance de C._ a été transféré à B._ SA (ci-après: B._), laquelle a été subrogée aux droits et obligations du premier assureur. Le 20 juillet 2007, A._, au guidon de sa motocyclette, a été victime d'un grave accident de circulation sur la route de Berne, à la hauteur de Corcelles-le-Jorat. Dans l'ordonnance du 8 décembre 2008 du Juge d'instruction de l'arrondissement du Nord vaudois, les circonstances de l'accident étaient décrites ainsi: "Peu avant le pont de Bressonnaz, sur un tronçon rectiligne, [A._] a accéléré fortement, portant son allure à quelque 140-160 km/h, et a dépassé des véhicules malgré la présence de flèches de rabattement lui indiquant qu'il devait reprendre sa droite. Il a poursuivi sa manoeuvre de dépassement en franchissant la ligne de sécurité séparant les deux courants du trafic, roulant ainsi à gauche de cette marque, soit sur la voie réservée aux usagers survenant en sens inverse. Alors qu'il dépassait la voiture circulant en tête de file, les yeux rivés sur le compteur de vitesse et en position de recherche de vitesse, A._ n'a pas remarqué le véhicule articulé qui arrivait normalement en sens inverse, conduit par D._. Celui-ci, voyant le motard arriver à vive allure contre son poids lourd, a effectué un freinage d'urgence, klaxonné et fait des appels de phares, tout en serrant sa droite. Malgré cela, A._ a remarqué trop tard la présence de cet engin et n'a pas eu le temps de réagir, de sorte qu'il a heurté son angle avant gauche avec sa main et sa jambe gauches. Simultanément, le motocycle a percuté et longé le côté gauche du semi-remorque. A la suite de ce très violent choc, A._ a été projeté et s'est retrouvé couché sur le dos, quelque 60 mètres plus loin." A._ a dû être amputé de l'avant-bras gauche et a subi d'importantes lésions au membre inférieur gauche, en particulier à la cheville. En raison de ces lourdes conséquences, le juge pénal a exempté le motocycliste de toute peine, bien qu'il l'ait déclaré coupable de violations simple et grave des règles de la circulation au sens de l'ancien art. 90 ch. 1 et 2 LCR. A._ a réclamé à B._ un acompte de 150'000 fr. à valoir sur le capital invalidité. Se référant à l'art. 8 let. f CGA, l'assureur a refusé ses prestations en invoquant le comportement délictuel de l'assuré. B. Par demande du 11 novembre 2011, A._ a ouvert action contre B._, concluant au paiement de la somme de 315'000 fr. plus intérêts. Par jugement du 15 janvier 2013, la Chambre patrimoniale cantonale du canton de Vaud a rejeté l'action. Statuant le 16 janvier 2014 sur appel de A._, la Cour d'appel civile du Tribunal cantonal du canton de Vaud a confirmé le jugement de première instance. D'une part, elle a jugé que la clause d'exclusion de l'art. 8 let. f CGA n'est ni équivoque, ni imprécise et qu'elle est donc valable au regard de l'art. 33 LCA. D'autre part, l'autorité cantonale a considéré que la clause litigieuse n'est pas insolite. Applicable dans le cas particulier, l'art. 8 let. f CGA permet ainsi à l'assureur de refuser toute prestation à l'assuré qui a provoqué l'accident en commettant plusieurs fautes graves de circulation, perçues par le profane comme constituant un délit. C. A._ interjette un recours en matière civile, dont la conclusion principale tend à la réforme de l'arrêt cantonal en ce sens que B._ est condamnée à payer à l'assuré le montant de 315'000 fr. plus intérêts. A titre subsidiaire, le recourant demande au Tribunal fédéral d'annuler la décision attaquée et de renvoyer la cause à la cour cantonale pour nouvelle décision dans le sens des considérants. B._ propose le rejet du recours. Pour sa part, la Cour d'appel civile se réfère aux considérants de son arrêt.