0

この質問は間違っているかもしれませんが、私がやりたいことは次のとおりです。

何百行もの長さになる可能性のある大きな文字列を指定すると、単語を正確に一致および置換し、他の文字列のどの部分も置換および一致しないことを確認します。

例えば ​​:

検索する文字列 = Mac Apple Microsoft Matt Damon IBM Hursley  
交換用弦 = MacO AppleO MicrosoftO MattDamonP IBMO HursleyL  
入力文字列 (わかりやすくするために一部のエスケープ文字が含まれています) =  
"異なることが検出されたかどうかをテストするファイル\r\n  
Mac、Apple、Microsoft などのビットとボブ。\n  
ハーズリーの IBM はクールなことを言います!「マット デイモン」ですね\r\n  
Mac でエラーになるものをテストしています"\n  

出力

「異なることが検出されたかどうかをテストするファイル  
MacO、AppleO、MicrosoftO などのビットとボブ。  
ハーズリーの IBMO はクールなことをする!うわー、「Matt DamonP」だ  
Mac でエラーになるものをテストする"  

単語境界を使用して正規表現を使用しようとしましたが、これ'whichwhillerrorMacO'は最後の行で発生します。

また、クラスとさまざまな区切り記号を使用してStringTokenizer単語を置き換えようとしましたが、置き換えようとしている単語の一部にこれらの区切り記号が含まれています。

この問題を解決する正規表現はありますか?

4

1 に答える 1

2

で置き換える\b(Mac|Apple)\b\$1O\、触れませんwhichwillerrorMacが、一致whichwill-Macします。

于 2009-12-08T16:37:21.583 に答える