두 줄 바꿈까지 문자열을 일치시키는 방법은 무엇입니까?

두 줄 바꿈까지 문자열을 일치시키는 방법은 무엇입니까?

이미 여기에 비슷한 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

데모

관련 정보