ฉันมีฟีดใน Yahoo Pipes และต้องการจับคู่ทุกอย่างหลังเครื่องหมายคำถาม
จนถึงตอนนี้ฉันได้หาวิธีจับคู่เครื่องหมายคำถามโดยใช้ ..
\?
ตอนนี้เพื่อให้ตรงกับทุกสิ่งที่อยู่หลัง / ตามเครื่องหมายคำถาม
"\\?"
ฉันมีฟีดใน Yahoo Pipes และต้องการจับคู่ทุกอย่างหลังเครื่องหมายคำถาม
จนถึงตอนนี้ฉันได้หาวิธีจับคู่เครื่องหมายคำถามโดยใช้ ..
\?
ตอนนี้เพื่อให้ตรงกับทุกสิ่งที่อยู่หลัง / ตามเครื่องหมายคำถาม
"\\?"
คำตอบ:
\?(.*)
คุณต้องการเนื้อหาของกลุ่มการจับภาพแรก
Feb 5 '11 at 10:41
นั้น ยังดีที่จะชี้ให้เห็นการเปลี่ยนแปลงทุกอย่างที่เราได้รับ อาจจะมีคนเรียนรู้จาก Dreamonic ชี้ให้เห็นสิ่งนี้
ลองสิ่งนี้:
\?(.*)
วงเล็บคือกลุ่มการจับภาพที่คุณสามารถใช้เพื่อแยกส่วนของสตริงที่คุณสนใจได้
หากสตริงสามารถมีบรรทัดใหม่ได้คุณอาจต้องใช้ตัวแก้ไข "dot all" เพื่อให้จุดตรงกับอักขระของบรรทัดใหม่ คุณต้องทำหรือไม่และวิธีการทำขึ้นอยู่กับภาษาที่คุณใช้ ดูเหมือนว่าคุณลืมพูดถึงภาษาโปรแกรมที่คุณใช้ในคำถามของคุณ
อีกทางเลือกหนึ่งที่คุณสามารถใช้ได้หากภาษาของคุณรองรับการดูความกว้างคงที่เบื้องหลังการยืนยันคือ:
(?<=\?).*
ด้วยเทคนิคการมองโลกในแง่บวก :
(?<=\?).*
(เรากำลังค้นหาข้อความที่อยู่ข้างหน้าด้วยเครื่องหมายคำถามที่นี่)
Input: derpderp?mystring blahbeh
Output: mystring blahbeh
โดยทั่วไป?<=
คือโครงสร้างกลุ่มที่ต้องใช้เครื่องหมายคำถามที่ใช้ Escape ก่อนจึงจะจับคู่ได้
พวกเขาทำงานได้ดีจริง ๆ แต่การใช้งานทั้งหมดไม่สนับสนุนพวกเขา
\?(.*)$
หากคุณต้องการจับคู่อักขระทั้งหมดหลัง "?" คุณสามารถใช้กลุ่มเพื่อจับคู่อักขระใดก็ได้และคุณควรใช้เครื่องหมาย "$" เพื่อระบุจุดสิ้นสุดของบรรทัด
.
โดยค่าเริ่มต้นจะไม่ตรงกับอักขระบรรทัดใหม่ ด้วยเหตุนี้แม้ว่าจะไม่มีอักขระสิ้นสุดของบรรทัดในนิพจน์ แต่ก็จะจับคู่กับจุดสิ้นสุดของบรรทัด
ตรวจสอบไซต์นี้: http://rubular.com/โดยทั่วไปไซต์จะอนุญาตให้คุณป้อนข้อความตัวอย่าง (สิ่งที่คุณต้องการหาในไซต์ของคุณ) จากนั้นเมื่อคุณสร้างนิพจน์ทั่วไปจะเน้นสิ่งที่ถูกจับคู่ ตามเวลาจริง
/([a-zA-Z]{4}):/
จะจับคู่Test: Welcome
และคว้าTest
str.replace(/^.+?\"|^.|\".+/, '');
บางครั้งวิธีนี้ใช้ไม่ดีเมื่อคุณต้องการเลือกสิ่งอื่นที่จะลบระหว่าง "" และคุณไม่สามารถใช้มากกว่าสองครั้งในหนึ่งสตริง เพียงแค่เลือกสิ่งที่ไม่อยู่ระหว่าง "" และแทนที่ด้วยอะไรเลย
แม้ว่าฉันจะสับสนเล็กน้อย แต่ก็พยายามอธิบายไม่ดี ^.+?
(ไม่ได้อะไรเพิ่ม) จนถึงครั้งแรก"
แล้ว|
หรือ / หยุด (ยังคงค้นคว้าสิ่งที่มันหมายถึงจริงๆ) จน / ที่^.
ได้เลือกอะไรจนกระทั่งก่อนที่ 2 "
โดยใช้ ( |
หยุด / ที่) และเลือกทั้งหมดที่ตามมาด้วย +.
\?.*
ตรงกับทุกอย่าง (รวมทั้งสตริงที่ว่างเปล่า)?
หลังจากที่