2013-10-30 10 views
5

私はこれに触れるいくつかの質問を見つけましたが、それに答えるものはありません。私はRegexを構築しようとしています。正規表現を構築すると、一連のテキストの中で適切な名詞を識別することができます。Regexは文中の最初の単語ではない適切な名詞やフレーズを見つける

私は大文字で始まり、1桁(I、Aなどのようなものを除外する)より長く、最初の単語ではない単語または単語グループを定義しています。新しい文章

ので、次のテキスト

に「スーザンダウは木曜日のホリデーインに滞在しました。彼女は、彼らがグリーン卵とハムを注文したバーではトムとシャーリーテンプルに会った」

を私は望みます以下返さ

ホリデイイン 木曜日 トム シャーリー・テンプル グリーンエッグ ハム

今、私が持っているのは[A-Z]{1,1}[a-z]*([\s][A-Z]{1,1}[a-z]*)*ですが、上記のリストに加えてSusan DowとSheが戻ってきています。 .ルックアップを動作させるにはどうすればよいですか?

答えて

3

あなたは使用することができます。このrubular

更新あたり

(?<!^|\. |\. )[A-Z][a-z]+ 

を:交代を使用して2つの負のルックスを統合します。また、文の間の2つのスペースのチェックが追加されました。メモごとのネガティブなルックアヘッドで反復演算子を使用することはできません。http://www.regular-expressions.info/lookaround.html

関連する問題