문제가 있어서 머리가 아프지만 적절한 해결책을 찾을 수 없습니다. 문제: 텍스트에서 다른 문자나 단어의 모든 발생을 일치시키는 정규식을 작성하십시오. 텍스트 순서는 정확히 다음과 같아야 합니다.
플레이 플레이어 좀 해주세요
난 노력 했어
(pl|재생|플레이어)
하지만 어떤 이유로든 모든 단어에서 pl만 선택됩니다. 그렇다면 왜 그런지 아는 사람이 있고 정규식만 사용하여 이를 수행할 수 있습니까?
다음으로 연결정규식101
도움을 주시면 감사하겠습니다.
답변1
대안을 찾을 때 공통 문자가 있거나 시작하는 경우 가장 긴 단어부터 가장 짧은 단어까지 시작하십시오. pl
, play
및 player
모두 로 시작하면 ( 첫 번째 대안으로) pl
만 일치됩니다. 고려되지 않습니다 .pl
play
player
정규식은 다음과 같아야 합니다 (player|play|pl)
.
이 경우 단어를 player
먼저 테스트/비교한 다음 if를 찾을 수 없는 play
경우 player
, 마지막으로 pl
다른 두 단어를 찾을 수 없는 경우를 사용하여 테스트/비교합니다.
답변2
욕심 많은 일치를 지정해야 하므로 .*
다음과 같이 정규 표현식 끝에 추가하세요.
(pl|play|player).*
탐욕스러운 일치를 사용할 때는 주의해야 합니다. 원하는 것보다 더 많이 일치하게 될 수 있기 때문입니다.