人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

正規表現にて、以下の処理を1回で行うには、どのように記述したらよいでしょうか。

<元の文>
They are Mr.White and Ms.Black. They are happy.

<正規表現によるの置換処理1回後の文>
They are Mr.White and Ms.Black.
They are happy.


※センテンス末のピリオドの後のみ改行し、"Mr."や"Ms."に含まれるピリオドの後については何も処理しないと言うことです。

※正規表現による置換処理は1回のみです。

●質問者: tetlis
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:MR MS ピリオド 正規表現 記述
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

センテンス末のピリオドの後

これを同定義するかにもよりますが、一番簡単なのは、

s/(\. +)/$1\n/g

でしょう。


センテンス末以外が Mr. Ms. だけならば、

s/(?<(?:Mr|Ms))\./.\n/g

とかも考えられますが、この構文自体一部の正規表現機構しか対応していないので処理言語等は選びます。

正規表現の解説 上級編


2 ● GoldenDawn
●35ポイント

Perl で。


Mr.やMs.のあとに空白がなく、センテンス末の場合のみ空白がある場合

$str = "They are Mr.White and Ms.Black. They are happy." ;
$str =~ s/\.\s+/\.\n/ ;
print $str ;

Mr. や Ms. のあとに空白があるかもしれない場合

$str = "They are Mr.White and Ms.Black. They are happy." ;
$str =~ s/(?<!(Mr|Ms))\.\s*/.\n/ ;
print $str ;

http://q.hatena.ne.jp

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ