while ($aaa =~ m/= "(\D.*?)"/g)
$aaa
이 anything = "something"
인 경우 일치하는 것으로 나타났습니다 (따옴표없이) something
을 반환합니다.이 Perl while 루프는 무엇을 의미합니까?
하지만이 코드는 무엇을 의미합니까?
m/= "(\D.*?)"/
while ($aaa =~ m/= "(\D.*?)"/g)
$aaa
이 anything = "something"
인 경우 일치하는 것으로 나타났습니다 (따옴표없이) something
을 반환합니다.이 Perl while 루프는 무엇을 의미합니까?
하지만이 코드는 무엇을 의미합니까?
m/= "(\D.*?)"/
당신은 그것의 대부분을 알아 낸 것 같다. =
, 및
"
은 문자 그대로 문자와 일치합니다. ()
은 일치하는 문자열의 일부를 캡처하여 $1
으로 사용할 수 있도록합니다. 괄호 안의 부분은 "
까지 0이 아닌 숫자 (*?
) 개행 문자 (.
)가 뒤 따르는 비 숫자 문자 (\D
)와 일치합니다. *
도 0 번 이상 일치하지만 더 많은 문자와 일치하는 것을 선호하므로 *?
과 같이 다음 문자 대신에 마지막 문자 인 "
까지 일치하게됩니다.
모든 내용은 perlre에 설명되어 있습니다.
는 \D
는 숫자가 아닌, .*?
어떤 종류의, 0 개 이상의 문자 뒤에 여부를 의미하며, 기호와 인용 부호가 그대로 촬영과 같습니다.
은 왼쪽에서 오른쪽으로 :
m/= "(\D.*?)"/g
match operator,
start regex:
equals sign, whitespace, double quotation mark,
start group:
one non-digit character, zero or more characters,
end group,
double quotation mark,
end regex
match globally
답장을 보내 주셔서 감사합니다. ysth 및 blueygh2입니다. – mozartsg