たとえば、「term--definition」のような行がたくさんあります。メモ帳++の正規表現は、大文字(大文字)で書かれた「用語」に対して実行できるため、TERM?
ありがとう!
Find what: ^(\S+)(?=\s*-)
Replace with: \U$1
これは何をしますか?検索パターンは、行の先頭にあるスペース以外の文字()にできるだけ多く一致し、括弧があるため\S+
、変数にそれらをキャプチャします。$1
その後、この「単語」の後にハイフンが続くことを表明する先読みが続きます(間に何もありません)。この先読みは実際には試合に含まれていないため、削除/置換されません。
置換は、「\U
これを「で止めない限り、これ以降はすべて大文字で出力する」というものから始まります\E
。次に$1
、一致したものを書き戻し\S+
ます(あなたの場合term
)。しかし大文字で。
必ずNotepad++6に更新してください。それ以前は、正規表現は少し風変わりでした。
編集:
実際の行は、行の先頭に1つの単語を置き、次にハイフンを付けるよりも少し面白いかもしれません。しかし、あなたの与えられた例からは私にはわかりません。ただし、任意の数の単語に対してこれを行い、行の先頭の空白を無視するには(行のどこかにハイフンがある限り)、次のようにすることができます。
Find what: ^(([ \t]*[^\s-]+)*)(?=[ \t]*-)
しかし、実際の入力例がなければ、適切な検索パターンを自分で理解する必要があるのではないかと思います。