これは次のものに多少関連しています:正規表現 - ブロック内のテキストの書式設定 - 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 -
これは後ろを見る必要がありますか?(私は正規表現の初心者なので、ご容赦ください)または、私の中間条件が完全に間違っています。
どうもありがとう!
ムウルフ。