สตริงตัวอย่างของฉันมีดังนี้:
This is 02G05 a test string 20-Jul-2012
02G05
ตอนนี้จากสตริงดังกล่าวข้างต้นที่ฉันต้องการที่จะดึง สำหรับสิ่งนั้นฉันลอง regex ต่อไปนี้ด้วย sed
$ echo "This is 02G05 a test string 20-Jul-2012" | sed -n '/\d+G\d+/p'
แต่คำสั่งด้านบนไม่พิมพ์อะไรเลยและเหตุผลที่ฉันเชื่อคือมันไม่สามารถจับคู่อะไรกับรูปแบบที่ฉันให้มาได้
คำถามของฉันคือฉันทำอะไรผิดที่นี่และจะแก้ไขอย่างไร
เมื่อฉันลองใช้สตริงและรูปแบบด้านบนด้วย python ฉันได้ผลลัพธ์
>>> re.findall(r'\d+G\d+',st)
['02G05']
>>>
sed
งูหลามไม่แน่นอน รสชาติ regex ของพวกเขาแตกต่างกันมาก