&를 포함하는 각 단어를 $...$로 묶는 정규 표현식

&를 포함하는 각 단어를 $...$로 묶는 정규 표현식

이를 수행할 수 있는 신뢰할 수 있는 방법이 있는지 궁금합니다.

다음을 통해 일치시키려는 시도:

[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:]]

관련 정보