정규식을 사용하여 영수증에서 각 광고 항목의 데이터를 가져옵니다.정규식을 사용하여 영수증에서 데이터 가져 오기
Qty Desc
1 JD *#
MARTINI *#
2 XXXXXX
3 YYYYYY
4 JD
PEPSI *#
모든 항목이 수량과 설명을 가지고 있고, 그들 중 일부는 추가 *#
있습니다 영수증은 다음과 같이 할 것입니다. 또한 설명에는 공백이 포함될 수 있으며, 및 두 줄 이상이 포함될 수 있습니다. 각 줄에는 자체적으로*#
이있을 수 있습니다. 수량과 설명을 알아 내고 싶습니다 (두 줄 이상인 경우 모든 줄을 가져옵니다). *#
에 대해서는 전혀 신경 쓰지 않습니다. 이 예에서 첫 번째 광고 항목의 경우 Quantity = 1 및 Description = "JD MARTINI"를 찾습니다. 네 번째의 경우 Quantity = 4이고 Description = "JD PEPSI"입니다. 그것은 작동하지 않습니다
((\d+)\s+(.*)(\s+\*#)?)
, 나는 마지막 괄호는 선택하게하는 것은 욕심 (.*)
절대적으로 모든 것을 잡을 수 있기 때문에 가정 :
나의 현재 정규 표현식은 다음과 같습니다. 마지막 괄호가 선택 사항이 아닌 경우 일반 표현식은 *#
이있는 광고 항목에 대해 작업을 수행하지만 첫 번째 및 3 번째 광고 항목과 일치하지 않습니다 (추가 *#
이 없기 때문에).
아이디어가 있으십니까?
설명이 모두 텍스트인지 또는 공백이 있습니까? –
@Ann L - 잘 했어, 그냥 물어 보려구 :-) – theMayer
regexlib.com, BTW에서 정규식 테스트 장치를 사용해 볼 수 있습니다. 나는 그것이 매우 도움이된다는 것을 알았다. –