正規表現パターンにマッチされていない文字列内の文字をどのように見つけますか

SUSE:

そこ正規表現であり、私は正規表現に一致しない文字を見つける必要があります。その後で「」で文字を置き換える。JAVAでこれを達成するためにどのように?

Pattern : ^((?![\|\=\;])[\p{L}\p{N}\p{M}\p{P}\p{Zs}])+$
Sample Text: HAIRCUT $42 PER PERSON
Required output: HAIRCUT 42 PER PERSON
user557597:

ちょうどあなたが既に持っているものを否定します。

検索(?!(?![|=;])[\p{L}\p{N}\p{M}\p{P}\p{Zs}])[\S\s]
置き換えnothing

https://regex101.com/r/Sn3DuL/1

 (?!
      (?! [|=;] )
      [\p{L}\p{N}\p{M}\p{P}\p{Zs}] 
 )
 [\S\s]

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=235732&siteId=1