![두 줄 바꿈까지 문자열을 일치시키는 방법은 무엇입니까?](https://rvso.com/image/1585766/%EB%91%90%20%EC%A4%84%20%EB%B0%94%EA%BF%88%EA%B9%8C%EC%A7%80%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EC%9D%BC%EC%B9%98%EC%8B%9C%ED%82%A4%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
이미 여기에 비슷한 Q&A가 많이 있다는 것을 알고 있지만, 그것만으로는 정리할 수 없습니다.
내가 원하는 것은 특정 함수 호출을 정규식과 일치시키는 것입니다. 예:
Lib.myfunction( arg0, arg1,
arg2, arg3 )
구체적 으로 찾고 있는데 Lib.myFunction
완전히 일반적일 필요는 없습니다. 이러한 모든 함수 호출에는 바로 뒤에 추가 빈 줄이 있습니다.
편집자가 이전 줄의 텍스트와 정렬하기 위해 공백을 추가하는 경향이 있기 때문에 줄 바꿈, 선택적 공백, 줄 바꿈으로 종료할 수 있다면 약간의 추가가 있을 것입니다.
정규식이 어떤 모습이어야 하는지 아이디어가 있나요?
답변1
Lib\.myfunction\s*\(\s*\S+(?:,\s*\S+)*\s*\)
설명:
Lib\.myfunction # literally
\s* # 0 or more spaces
\( # opening parenthesis
\s* # 0 or more spaces
\S+ # 1 or more NON spaces
(?: # start non capturing group
, # a comma
\s* # 0 or more spaces
\S+ # 1 or more NON spaces
)* # end group, may appear 0 or more times
\s* # 0 or more spaces
\) # closing parenthesis