これは次のものに多少関連しています:正規表現 - ブロック内のテキストの書式設定 - IMですが、別の問題です。
-
次の条件で のラッピング テキストを探しています:
条件:
- トークンは行頭または行末にすることができます
- トークンは、スペースまたは 1 つ以上の記号 ({.,!@#$....}) で囲む必要があります。
-
問題のペアを囲む通常の文字 [a-zA-Z] であってはなりません。- サンプル テスト 3 を参照してください ...w-thank you-
-
が [^a-zA-Z] でラップされているため、テスト 4 と 5 は成功します。
-
トークンの最初のスペースまたは最後のトークンの前にスペースを続けてはいけません-
-
"-Wow -" は、終了の前にスペースがあるため、一致しません。- サンプル テスト 6 および 7 を参照してください。
私が必要とする正規表現の前に:(^|[\s\W]+)
そして最後は次のようになります:($|[\s\W]+)
私は現在の式を持っていますが、最初の式を見つけた後にエスケープ条件が停止しているため失敗しています-
(^|[\s\W]+)-([^\s][^-]*)-($|[\s\W]+)
サンプル テスト文字列は次のようになります。
- (全て。):
-Wow-thank you-.
- (わお):
-Wow- thank you-!
- (なし):
- Wow-thank you-.
- (ありがとうございました):
- Wow!-thank you-
- (ありがとうございました):
- Wow -thank you-
- (全て):
-Wow - thank you-
- (なし):
-Wow - thank you -
これは後ろを見る必要がありますか?(私は正規表現の初心者なので、ご容赦ください)または、私の中間条件が完全に間違っています。
どうもありがとう!
ムウルフ。