2012-05-10 35 views
1

OCRのために多くのエラーが発生している字幕ファイルを整理します。エラーのうち、lIと表示されています。Regex:先行する小文字の文字と一致する

  • 文の先頭:I'm Ieaving...または- I'm Ieaving...もちろん、時にはIは主の場合には、本当にIです。
  • 名前:IsabeIIe
  • 多分奇妙なケースがあります。

名は検出が困難なので、私はそれが1つまたは複数の直接小文字の前でだけI年代を交換し、手動で残りの部分をチェックするのが最善だろう考え出しました。変換後、私はI'm IeavingIsabelleとなります。これは大文字の直前に小文字がある単語がたくさんあるので、私が考えることができる最もベアボーンの自動化されたソリューションです。

どのように私はRegexでこれを行うことができますか?前もって感謝します。

答えて

2

あなたの正規表現エンジンが後読みサポートしている場合、あなたはすべてを見つけることができます私のこのような小文字が前に:それ以外の場合は

(?<=[a-z])I 

が、あなたは両方の文字に一致することができ、2つ目はI.

になります
[a-z]I 
+0

これは質問に答えますが、@ KeyMs92はこれを考えていません。別の大文字のI(大文字の大文字も含む)に続いて、大文字Iを探してください。 'IsabeIIe'と' Biuetooth'を考えてみましょう。 –

+0

あなたは正しいですが、私はこれを考えました。私が言及したように、私は間違いを避けるベアボーンの自動化されたソリューションを見つけようとしています。先行する小文字だけを探すことは、ほとんど最小限です。表現を広げてしまうと、「BIuetooth」がなくなります。 'DlY'。とにかく、あなたの答えをありがとう、それは完全に動作します! – Daan

0

/([a-z])I/は、大文字のIに先行する小文字のa-zをキャプチャします。

1

これらのいずれか、エンジンが修飾語グループをサポートしている場合。

(?-i:(?<=[a-z])I) 
or 
(?-i:[a-z]I) 

ユニコードの場合は、プロパティを使用します。

関連する問題