2016-08-24 4 views
0

파일의 나머지 문자열과 일치시켜야합니다.정규식과 일치하는 문자열 \ '

(2, \\'username\\', 

^\(\d+,\s\\{2}\'(\w+)\\{2}\', 

으로 내 캡처 그룹 username를 얻을 : 나는 다음을 일치시킬 수 있습니다. 그러나, 나는 내가 추가 \\'와 함께 할 그에게 무언가를 생각하는 낙관적 인

^\(\d+,\s\\{2}\'(\w+)\\{2}\',.* 

및 시도

(2, \\'username\\', \\'pas$word\\', 2, \\'Name\\', \\'Name\\', \\'[email protected]\\', NULL, NULL, NULL, 0, TRUE, 9, FALSE), 

캡처하는 정규식을 확장 할 수 없었습니다, 난

^\(\d+,\s\\{2}\'(\w+)\\{2}\', [\w\d\s\\,)@.$']*\), 
시도

하지만 일치시킬 수도 없습니다.

(2, \\'username\\', 'pas$word', 2, 'Name', 'Name', '[email protected]', NULL, NULL, NULL, 0, TRUE, 9, FALSE), 

분명히 나 앞에서 뭘 놓치고 있는지.

+0

[ '\ D + \ S * \\ {2} \'(\ S +) \\ {2} \ ','(https://regex101.com/r/jV3xA3/1)? 아니면 당신이 제공 한 전체 문자열과 일치 시키려고합니까? –

+0

고마워, 위크 토어. 나는'username'이 아닌'\ w +'에 넣었어야했지만'\ S +'는 더 깨끗합니다. 그러나, 나는 여전히 더 긴 라인에서 일치시킬 수 없다. https://regex101.com/r/uY5bG8/1 –

+0

귀하의 질문에 정확한 요구 사항 또는 주어진 샘플 입력 당 예상되는 출력이 부족합니다. 왜'^'앵커를 사용합니까? 왜'''를 써야할까요? –

답변

1

\\'으로 시작하고 \\'으로 끝나는 값이 표시되면 줄 내의 각 문자열을 캡처합니다.

정규식

\\{2}(\'\S*)\\{2}\' 
+0

당신의 질문은 단지 불분명합니다. 줄 앞의 일치 항목을 던지면 첫 번째 찾은 문자열이됩니다 .https : //regex101.com/r/uY5bG8/2. 성공적인 캐스팅과 광산의 실제 차이점은 줄의 시작 부분에 앵커 '^'를 사용하지 않았다는 것입니다. 왜 내 것이 깨져야하는지 확신 할 수 없습니다. –

관련 문제