저는 PowerShell에서 Regex를 사용하여 파서를 만들었으며 지금까지 문제가없는 한 실제로 작동합니다.그룹 번호 가져 오기
\s*([a-zA-Z_]+)\s*=(?:\s*"(.*)"|([^;#]*))
나는 성공, 일치하도록이 정규식을했습니다, 이러한 시나리오 :
Name= "Value" ;Comment
가 =
후 따옴표 사이에 모든 것을 받아 무시 것인가 나머지
Name=Value ;Comment
윌 =
이후 모든 것을 ;
또는 #
값을
이제는 좋지만 문제는 시나리오 1이 값 2와 일치하고 시나리오 2가 값 3과 일치한다는 것입니다. 이것은 어떤 것이 내가 최종 값을 위해 무언가를 포함하고 있는지를 확인하게하는데, 나는 깨끗하지 못하며, 반드시 필요하지는 않습니다. 그래서 여기에 질문이옵니다 : Value [2]는 그 두 그룹의 결과를 어떻게 포함 할 수 있습니까? 대신 비 캡처 그룹의
어떻게 이런 일에 대한 ([^ "] *?) \ 2 \ s * [; #]'] (https : /) /regex101.com/r/R9LcE3/2) – Faibbus
'Name = "Value1; Value2"' 따옴표를 지정하지 않으면 = 뒤에 공백을 캡처하지 않습니다. 'Name = been been ' 에 의해 발견되었습니다. 감사합니다. – Blah
대체 그룹을 만들고 그룹을 만드는 것이 더 좋을 것이라고 생각합니다. '\ * * \ \ * \ s * = \ s * (". *?"| [^; #] *)' –