문제: 다음 문자열이 있습니다: "python php ruby javascript jsonp 아마도 phpisoutdated"
이 문자열의 경우 순수 정규 표현식을 사용하여 ph가 아닌 p는 포함된 모든 단어를 가져옵니다
출력 배열 [ 'python', 'javascript', 'jsonp' ]
이 문제에 대해 오랫동안 생각해 왔는데 잘 모르겠어요
제 해결책은
<code>var result = str.match(/\b\w*(?=p)\w*\b/g) .filter((value)=>!/.*(?=ph)/.test(value)) var result2 = str.match( /\b((?!ph|\s).)*((p[^h\s]((?!ph|\s).)*)|p)\b/g ) console.log(result2)</code>
그러나 이는 순수한 규칙성 요건을 충족하지 않습니다
그룹의 덩치가 큰 분이 이런 답변을 하셨습니다
<code>/\b((?!ph|\s).)*((p[^h\s]((?!ph|\s).)*)|p)\b/g </code>
완벽하게 작동합니다
하지만 이해가 안 돼요. 누군가가 이해하도록 도와줬으면 좋겠어요