& を含む各単語を $...$ で囲む正規表現

& を含む各単語を $...$ で囲む正規表現

これを行うための信頼できる方法があるかどうか疑問に思います。

次のように一致させる試み:

[A-Za-z]*&[A-Za-z]*

返品:

ここに画像の説明を入力してください。

だから環境が間違っています\\&\hskip

&文字の周りの表示をよりよく一致させるにはどうすればよいですか?

答え1

@cuonglmが言ったように、*0以上を意味します。 Perlでタグ付けしたので、Perlの正規表現エンジンを使用しているとします。これは、以下が利用可能であることを意味します+。 1以上。したがって、交換したい項目は次のいずれかになります。

  1. 英数字または下線の一致:

    s/\w+&\w+/\$$&\$/g
    
  2. 文字のみが一致します(大文字と小文字iは区別されません)。

    s/[a-z]+&[a-z]+/\$$&\$/gi
    
  3. 「単語」のみを一致させ、単語全体に文字のみが含まれていることを確認してください。

    s/\b[a-z]+&[a-z]+\b/\$$&\$/gi
    

答え2

*あなたの問題は一致する修飾子です。若いまたは、複数の文字が表示されます。したがって、&囲まれていないものと一致します[A-Za-z]

必要なものは次のとおりです。

[A-Za-z]&[A-Za-z]

または、より良い方法は次のとおりです。

[[:alpha:]]&[[:alpha:]]

関連情報