MS Word正規表現の貪欲な一致?


3

Wordのいくつかのテーブルをクリーンアップする必要があります。セミコロンとそれらの後のテキストは冗長です。たとえば

text1 ; text 2

上記は1つのセルの内容であり、セルの終わりまでセミコロンとそれ以降のすべて削除する必要があります。残念ながら、テキスト2には特定のパターンはありません。

Wordの組み込みの検索と置換を正規表現を使用して実行しようとしています。

私の正規表現の目的の終わりはセルの終わりなので、私はそれを一致させることはできません、私は任意の文字のいくつかの組み合わせを試しました;?* ;* ;?@が、すべてが最短一致テキスト停止し、最後まで一致させる方法はありますか細胞の?


おっとっと。間違ったリンクを見ていました。
DavidPostill

;?{1,}動作しますか?
DavidPostill

はい、それは「機能」し、一致し;、その後に1文字が表示されます
マーテユハス

次に、何かのように動作する;?{1,9999}はずですか?「{n,m}n個からm個の前の文字または式の出現に一致」
DavidPostill

試してみてください;[ 0-9A-Za-z]*
DavidPostillは

回答:


4

これは機能しているようです:

;[!¤]{1,}

私は一般的な通貨記号を使用しましたが¤、セミコロンに続くテキストに含まれていないことが確実な他の記号を使用することができます(セミコロン自体である可能性があります)。

ただ注意してください:中括弧の2番目のバインドを空のままにしても、無限の文字列を意味するわけではありません。


ありがとう!それは本当に機能します!に置き換えたり、遅延一致を作成{1,}@たり*、に置き換えたり[!#]?ます。だから私は背後にある論理を見つけることができませんが、それは動作します:)
マーテJuhász15年

0

セミコロンとその後のすべてを削除する必要があります

次の正規表現を使用します。

;?{1,9999}^13
  • {n,m}から前の文字または式の出現までnに一致m
  • ^13 段落区切りに一致

ソース正規表現を使用してテキストを検索および置換(詳細)


お疲れ様でした!はい、これは通常の段落のために動作しますが、テーブルのセルは、段落記号で終わっていない、したがって、^13セルの末尾に一致しない
メイトユハス

を削除しても機能しますか、^13それとも次のセルへのマッチングを継続しますか?
DavidPostill

;?{x,9999}セミコロンと次のx文字のみに一致します
マーテユハス

より少ない数を使用してみてください9999多分;?{x,99}か何か
DavidPostill

すべて同じで、{1,}1文字のみに一致します
マーテユハス

0

テーブルを別の場所にコピーします。テキストに変換レイアウト/テキストに変換)して選択しParagraph delimiterます。

確認;*^13してから^9、に置き換えUse wildcardsます。このテキストブロックを切り取ります。

元のテーブルのすべてのテキストを選択し、「テキストのみ」貼り付けます。


残念ながら、異なるフォーマットとコメントもありますが、このソリューションはそれらを保存しません。
マテジュハス

この回避策は、テーブルの書式設定を保持することを目的としています。書式設定なしでテキストを貼り付ける必要があります(右クリックするとオプションとして表示されます-ホバリングするとプレビューが表示されます)、元のテーブルを取得します」コメントについてはわからない、ごめんなさい。
SΛLVΘ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.