3

TextWrangler で正規表現 (Grep) を使用して、小文字の後に大文字が続く箇所を見つけるのが困難です。例えば:

この発表は学生を歓迎することを意味します。

実際には、手段になるようにコロンを追加して出現を分割したいと考えています。

私が試してみました:

[a-z][A-Z]

しかし、この式は TextWrangler では機能しません。

* EDIT : 発生が表示される正確なコンテキストは次のとおりです (これらのフォントの色のみを意味します)。*

<font color =#48B700>  - Stột jlăm wẻ baOne hundred and three<br></font>

<font color =#C0C0C0>     »» Qzống pguộc lyời ba yghìm fảy dyổiTo live a life full of vicissitudes, to live a life marked by ups and downs<br></font>

"baOne" and "dyổiTo" must be "ba: One" and "dyổi: To" 

誰でも助けてもらえますか?どうもありがとう。

4

4 に答える 4

3

([a-z])([A-Z])私はあなたがそれを検索して置き換える必要があると信じています(TextWranglerは手元にありません) :\1: \2

お役に立てれば。

于 2012-01-06T10:36:14.150 に答える
2

置換-TextWranglerは([a-z])([A-Z])あり\1:\2ませんが、Notepad++で動作します

括弧はデータをキャプチャするためのものであり\1、置換文字列の構文を使用して参照されます

于 2012-01-06T10:30:58.987 に答える
2

この質問は古くからありますが、私は偶然見つけたので、他の誰かも同様かもしれません. Igorの応答に対するOPのコメントは、タスクがどのように説明されることを意図しているかを明確にしました(説明に&を追加することもできました)。

HTML 置換のフォント固有の行のみに一致させるには

(?<=<font color =#(?:48B700|C0C0C0)>)(.*?[a-z])([A-Z])

\1: \2

説明:

  • (?<=[fixed-length regex])肯定的な後読みであり、「私の試合が直前にこれを持っている場合」を意味します
  • (?:48B700|C0C0C0)は、2 色のみに一致する名前のないグループです。それらは同じ長さであるため、後読みで機能します (固定長である必要があります)。
  • (.*?[a-z])([A-Z])>これらの begin font タグの後の大文字までのすべてに一致します。
  • 置換は Igorの\1: \2応答と同じですが、\1分離が必要な最初の文字列全体に一致するだけです。

添加:

入力文字列に特殊文字が含まれており、分割したい部分が 1 つで終わる可能性があります。この場合、彼らは一人で捕まることはありません[a-z]気になるすべての文字をキャプチャするキャラクターレンジャーを追加する必要があります。

(?<=<font color =#(?:48B700|C0C0C0)>)(.*?[a-zḁ-ῼ])([A-Z])

于 2017-05-24T18:34:30.227 に答える