以下を実現する正規表現を作成しようとしています。
General Motors --> General Motors (stays the same!)
Yahoo! --> Yahoo (remove exclamation point)
Le7el --> Le7el
Mat. Science --> Mat Science
単純な「/\W+$/」を試してみましたが、残念ながら行末の句読点しかキャッチしません。
を試してみてくださいs/[^\w\s]//g
。単語およびスペース以外のすべての文字が空の文字列に置き換えられます。
必要に応じて、たとえば、有効な文字と見なすものを正確に指定s/[^A-Za-z0-9 ]//g
します。
さて、これは Perl ですが、重要なのは思考の正規表現です。
Unicode に対応する必要がある場合は、"Punct" プロパティを使用します。
s.gsub(/\p{Punct}/, '')
これは、単純な ASCII 句読点でも同様に機能します。