3

Notepad ++または同様のツールを使用して、すべて大文字で名前を含むtxtファイル内の行を見つけるために使用できる正規表現を考え出そうとしています。一致する行を見つけたら、3 つの改行を追加します。

セリフが名前なので色々条件があります。一部の名前は 2 文字のみです。ハイフンが付いているものもあります。複数の名前を持つものもあります。姓とコンマの後にスペースがない人もいます。ここではいくつかの例を示します。

  • ジョン・L・ドー
  • ジョン・L・ドウ・スミス
  • ド、ジョ・エル
  • DOE、ジョン・ボブ・L
  • ジョン・L・ドー

これを他のプログラムでも実行できます。これを理解しようとしているだけなので、完成させることができます。

編集: [AZ]+、[AZ]+ を使用していましたが、行全体が選択されず、スペースとハイフンが考慮されませんでした。

回答:次の正規表現が私のニーズを満たしました。

^(?!.*[a-z])(?!.*[0-9]).+$

パート 2 回答:一致した項目の前に 3 つの改行を追加するという、リクエストの 2 番目の部分を実行するために、調整も行いました。

^((?!.*[a-z\d]).+)$

また、Match Case が選択されていることも確認しました。正規表現を使用していました。そして、次のものに置き換えられます。

\n\n\n\1

みんな、ありがとう!

4

2 に答える 2

4

小文字の char に対して否定先読みを使用します。

^(?!.*[a-z]).+$

これは、「小文字を含まない任意の行」に一致します。


番号も許可しないようにするには:

^(?!.*[a-z\d]).+$
于 2013-09-21T16:00:43.847 に答える