ที่เก็บสำหรับหมวดหมู่ » ภาษา «

วันจันทร์, 6 เมษายน, 2009 | ผู้เขียน:

เพื่อนร่วมงานกำลังมองหาที่จะเรียนรู้ regex ดังนั้นผมจึงตัดสินใจที่จะนำมันขึ้นที่นี่. นี้เป็นครั้งแรกในชุดของบทความ regex ​​ที่เกี่ยวข้อง. ในส่วนที่จะทำตาม, เรากำลังจะได้ใช้ของเรา นิพจน์ปกติ ในการเรียนรู้หัวข้ออื่น ๆ ที่เกี่ยวข้องกับอินเทอร์เน็ตในขณะ simltaneously ขยายความรู้ regex.

regex ​​เริ่มต้นอย่างรวดเร็ว

  1. A แถบแนวตั้ง |, บางครั้งเรียกว่าท่อ, เป็น “หรือ” ผู้ประกอบการในการแสดงออกปกติ. มันแสดงให้เห็นว่ารูปแบบไปทางซ้ายหรือไปทางขวาเป็นที่ยอมรับ. บนแป้นพิมพ์, คีย์นี้โดยทั่วไปจะมี “เมืองหลวง”, หรือ “รุ่นเปลี่ยน”, ของคีย์เครื่องหมาย.
  2. วงเล็บคือวงเล็บรอบ () ที่เลือกส่วนหนึ่งของการแสดงออกปกติ. พวกเขาสามารถใช้งานเช่นเดียวกับในวิชาคณิตศาสตร์เมื่อ คำสั่งของการดำเนินงาน จะมีการปรับ. The “การเลือก” สามารถอ้างอิงอื่น ๆ ถึงแม้ว่าเราจะครอบคลุมในภายหลังว่า.
  3. A จุด . เป็นตัวละครพิเศษที่ตรงกับ ใด ตัวละครอื่นที่ไม่ใช่ “ขึ้นบรรทัดใหม่” ตัวอักษร.
  4. ทับขวา \ บางครั้งเรียกว่า หลบหนี ตัวละคร. มีตัวละครหลาย, เช่นวงเล็บและแถบแนวตั้งดังกล่าวข้างต้น, ที่มีความหมายพิเศษ. เครื่องหมายที่ใช้ในการเอาออก (หลบหนี) ความหมายที่พิเศษเหล่านั้น. เช่น, เพื่อระบุหยุดเต็มเกิดขึ้นจริง, คุณต้องการที่จะหลบหนีจุดตัวอักษรพิเศษ: \.
  5. ดาว * เป็นผู้ดำเนินการซึ่งแสดงให้เห็นว่าตัวละครก่อนหน้านี้สามารถทำซ้ำศูนย์หรือมากกว่าครั้ง. นี้มักจะรวมกับจุดที่จะผลิต “ตัวแทน” ลวดลาย, ซึ่งตรงกับสายยาว ๆ: .*

การใช้แถบแนวตั้งและลักษณะการหลบหนี

ที่นี่เรามีจำนวนของที่อยู่เว็บตัวอย่างเช่น:

ที่ http://dogma.swiftspirit.co.za/
http://swiftspirit.co.za/
http://google.com/

ถ้าต้องการรูปแบบที่ตรงกับพวกเขาทั้งหมด, ฉันสามารถใช้แถบแนวตั้ง (กฎ 1 ข้างบน) จะแยกพวกเขา. ฉันแล้วยังจำเป็นต้องใช้ตัวละครที่หลบหนี (กฎ 4 ข้างบน) เพื่อหยุดเต็ม:

ที่ http://เชื่อ  .swiftspirit  .co  .za /|ที่ http://swiftspirit  .co  .za|ที่ http://google  .com /

ข้างต้นจะตรงกับทุก URI ในตัวอย่างของฉัน แต่มันไม่ได้มีประสิทธิภาพโดยเฉพาะหรือที่สง่างาม.

การใช้วงเล็บ

เช่นเดียวกับที่สามารถทำได้ด้วยดังต่อไปนี้, สั้น, regex, ใช้วงเล็บจากการปกครองของ 2 ข้างบน:

ที่ http://((|เชื่อ )swiftspirit  .co  .za|google  .com)/

แจ้งให้ทราบว่าผมได้วางเพียงแค่รายการที่พบบ่อย, เช่น “ที่ http://” และ “/”, นอกเลือก.

ถ้าคุณต้องการเพื่อให้ตรงกับข้อความที่อาจจะมีอะไร?

บางทีคุณอาจมีมากกว่าที่คุณยังต้องการเพื่อให้ตรงกับ? เช่น, ถ้าฉันใส่ http://swiftspirit.co.za/downloads/ และฉันยังคงต้องการรูปแบบเพื่อให้ตรงกับที่หรือ url อื่น ๆ ภายใต้เว็บไซต์ของฉัน. หรือบางทีมันโอเคสำหรับ http://สิ่งใด.google.com/สิ่งใด ยังตรงกับ. เราสามารถใช้จุดและดาวตัวอักษรพิเศษจากกฎ 3 และ 5 จากข้างบน:

ที่ http://((|เชื่อ )swiftspirit  .co  .za|(|.*\.)google  .com)/.*

เพียงแค่เพิ่มที่ตัวอักษรใด ๆ จะปรากฏเป็นศูนย์หรือมากกว่าครั้งช่วยให้การแข่งขันมากขึ้นโดยไม่ต้องเพิ่มมากเกินไปที่จะซับซ้อน regex ​​ของ:

(|.*\.)

ดังกล่าวข้างต้นมาจากด้านหน้าของรูปแบบ google.com. แถบแนวตั้งแสดงให้เห็นสองตัวเลือกที่นี่: ไม่ว่าจะว่างเปล่า (ดังนั้นเราจึงจบลงด้วยเพียง google.com), หรือ .*\. (ดังนั้นเราจึงมี สิ่งใด ตามด้วยตัวอักษรและจุดที่จะตามแล้วโดย google.com).

ฝึกทำให้สมบูรณ์

แล้วเราจะเห็นได้จากตัวอย่างสุดท้ายที่แสดงออกปกติได้อย่างรวดเร็วสามารถกลายเป็นความซับซ้อน. เหมือนภาษาใด ๆ, เป็นได้อย่างง่ายดายสามารถที่จะอ่านการแสดงออกปกติใช้เวลาฝึก. หากคุณมีความต้องการที่เกี่ยวข้องกับการทำงานกับการแสดงออกปกติ, คุณอยู่ในการรักษา.

ส่วนหนึ่ง 2 ควรจะเป็นเพราะในไม่กี่วัน. ฉันจะทำบางอย่างทางอ้อมมาก “ทำงาน”, แสดงให้เห็นถึงวิธีการล้างแคช DNS ในความหลากหลายของระบบ.

หุ้น
วันอังคาร, 13 มกราคม, 2009 | ผู้เขียน:

(20:19:25) A: was playing WoW on Saturday
(20:19:40) B: yea dude
(20:19:44) A: They have chat channels similar to IRC, though its specific to the area you’re in
(20:19:52) B: lol
(20:20:01) B: thats kewl
(20:20:05) A: a guy put inI can like to be wearing… “
(20:20:23) A: so I replieda jean pant
(20:20:28) B: lol
(20:20:50) A: and he repliedof ‘n rokkie
(20:21:00) A: I fell off my chair

หุ้น
หมวดหมู่: gaming, ภาษา, สุ่ม  | แท็ก: , , , , ,  | 6 ความเห็น