空白の後にハイフン「-」が続く部分まで文字列を表示する正規表現を作成しようとしています。このパターンが見つからない場合は、文字列全体を表示する必要があります。文字列には他の空白やハイフンが含まれる場合があります。
次の正規表現は、目的の部分が $1 に含まれるほとんどの文字列値で機能します。
^([^ ]+[^-]+)( -).+
入力文字列と、上記の正規表現のグループ 1 で一致したもの -
- ロンドン-パリ 東京 --> ロンドン-パリ
- ロンドン マドリッド - パリ-ベルリン-ローマ - 東京 --> ロンドン マドリッド
- ロンドン パリ - ベルリン 東京 --> ロンドン パリ
- ロンドン・パリ --> ロンドン・パリ
ただし、上記の正規表現は次のケースには一致しません。
- ロンドン パリ (一部テキスト) - ベルリン/東京
私は正規表現のいくつかのバリエーションを試しましたが、これも否定的な先読みを使用しましたが、役に立ちませんでした。
どんな助けでも大歓迎です!ありがとう
編集: 有益で説明的な提案をしてくれた皆さんに感謝しますが、以下の@Vinceによる回答は私のニーズにぴったりでした。以下にコメントを追加しました