이를 수행할 수 있는 신뢰할 수 있는 방법이 있는지 궁금합니다.
다음을 통해 일치시키려는 시도:
[A-Za-z]*&[A-Za-z]*
반품:
그래서 환경이 잘못되었습니다 \\&\hskip
.
&
글자 주변의 표시를 더 잘 일치시키려면 어떻게 해야 합니까 ?
답변1
@cuonglm이 말했듯이 *
0 이상을 의미합니다. Perl로 태그를 지정했기 때문에 Perl의 정규식 엔진을 사용하고 있다고 가정합니다. 이는 다음을 사용할 수 있음을 의미합니다 +
. 1 이상. 따라서 교체하려는 항목은 다음 중 하나가 됩니다.
영숫자 문자 또는 밑줄 일치:
s/\w+&\w+/\$$&\$/g
문자만 일치합니다(
i
대소문자를 구분하지 않습니다).s/[a-z]+&[a-z]+/\$$&\$/gi
"단어"만 일치시키고 전체 단어에 문자만 포함되어 있는지 확인하십시오.
s/\b[a-z]+&[a-z]+\b/\$$&\$/gi
답변2
*
귀하의 문제는 일치하는 수정자 입니다 .영또는 여러 문자가 나타납니다. 따라서 &
둘러싸여 있지 않은 것과 일치합니다 [A-Za-z]
.
필요한 것은 다음과 같습니다.
[A-Za-z]&[A-Za-z]
또는 더 나은 방법은 다음과 같습니다.
[[:alpha:]]&[[:alpha:]]