Case 001: ตัวอักษรในคำซ้ำซ้อน

จาก Wiki Opensource

ปัญหา: พบจดหมายขยะ ในเนื้อหา มีคำพวกนี้อยู่ ซึ่งแต่ละฉบับไม่ซ้ำกัน แต่พบรูปแบบคล้ายอย่างนี้

New Life

Neew Life

Neww Life

New Liife

New LLife

... etc

แนวทางการแก้ไข

   พบว่า เนื้อความ จะมาจากรากฐานคำว่า New Life ซึ่งจะมีเว้นวรรคตรงกลาง และ ตัว n,e,w และ l,i,f,e จะซ้ำๆแบบไม่แน่นอนในแต่ละฉบับ รวมทั้งเว้นวรรคก็ซ้ำจำนวนไม่แน่นอนด้วย ในกรณีนี้ สามารถใช้ Pattern ดังนี้ได้

/n+e+w+[[:space:]]+l+i+f+e/ DISCARD new-life-spam

คำอธิบาย

+ แปลว่า ซ้ำอย่างน้อย 1 ครั้ง

n+e+w+ จึงแปลว่า จะ match กับ new, nnew, nnneew .. etc... หรือ กล่าวว่า ให้ซ้ำกันยังไงก็ได้ n e w จะเข้าข่ายหมด

[[:space:]] แปลว่า อักษรซึ่งแสดงความเป็นช่องว่าง ทั้ง space, tab และ อื่นๆ ครับ

[[:space:]]+ จึงแปลว่า ซ้ำตัวช่องว่าง กี่ตัวก็ได้ เข้าข่ายหมด