เมื่อวานนี้ ฉันพบปัญหาในการจับคู่นิพจน์ทั่วไปทั้งสองรายการเมื่อทำการผสาน CSS และสุดท้ายด้วยความช่วยเหลือจากเพื่อนร่วมชั้นของ CE ในกลุ่ม CSS Forest ฉันจึงบันทึกนิพจน์ทั่วไปทั้งสองนี้จนเสร็จสิ้น ใช้พวกเขาในอนาคต
ประการแรกคือปัญหาของการจับคู่เส้นทางรูปภาพ สตริงที่จะประมวลผลคือ:
ต่อไปนี้เป็นเนื้อหาที่ยกมา: |
สิ่งที่ฉันเขียนในตอนแรกคือ:
ต่อไปนี้เป็นเนื้อหาที่ยกมา: |
ผลลัพธ์คือ:
ต่อไปนี้เป็นเนื้อหาที่ยกมา: |
อย่างที่คุณเห็น ผลลัพธ์ของการจับคู่รูปภาพสองรูปให้เป็นภาพเดียวนั้นไม่ใช่สิ่งที่คุณคาดหวัง เปลี่ยนเป็นการจับคู่แบบขี้เกียจดังนี้:
ต่อไปนี้เป็นเนื้อหาที่ยกมา: |
ผลลัพธ์คือ:
ต่อไปนี้เป็นเนื้อหาที่ยกมา: URL(demo.jpg); |
จับคู่รูปภาพสองรูปซึ่งเป็นผลลัพธ์ที่ต้องการ -
ปัญหา ที่ สองคือการใช้ ตัวแปร ในการแสดงออกปกติ : :
ต่อไปนี้เป็นเนื้อหาที่ยกมา: |
เนื้อหาทั้งหมดระหว่าง "/" จะถือเป็นนิพจน์ทั่วไป ดังนั้นชื่อตัวแปรจะถือเป็นสตริง โดยไม่ต้องเพิ่ม "/"? ไม่เป็นไร แต่ถ้าคุณไม่เพิ่ม "/" คุณจะไม่สามารถระบุโหมดการจับคู่ได้ และคุณสามารถจับคู่ได้เฉพาะโหมดแรกเท่านั้น
ต่อไปนี้เป็นเนื้อหาที่ยกมา: สามารถสร้างออบเจ็กต์ RegExp ใหม่ได้ผ่านออบเจ็กต์ RegExp โดยมีโหมดและแฟล็กที่ระบุ |
แล้ว:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
|
สิ่งที่ควรสังเกตในที่นี้คือการใช้ "\" เพื่อหลบหนีเพราะว่า
ต่อไปนี้เป็นเนื้อหาที่ยกมา: ถ้ารูปแบบอาร์กิวเมนต์เป็นนิพจน์ทั่วไปแทนที่จะเป็นสตริง ตัวสร้าง RegExp() จะสร้างออบเจ็กต์ RegExp ใหม่ที่มีรูปแบบและแฟล็กเดียวกันกับ RegExp ที่ระบุ |
ในระหว่างกระบวนการนี้ "\" จะถูกแปลงเป็น "" นั่นคือผลลัพธ์ข้างต้นคือ:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
|