คำถามติดแท็ก regex

นิพจน์ทั่วไปจัดเตรียมภาษาที่ประกาศเพื่อจับคู่รูปแบบภายในสตริง โดยทั่วไปจะใช้สำหรับการตรวจสอบความถูกต้องสตริงการแยกวิเคราะห์และการแปลง เนื่องจากนิพจน์ทั่วไปนั้นไม่ได้มาตรฐานอย่างสมบูรณ์คำถามทั้งหมดที่มีแท็กนี้จึงควรมีแท็กที่ระบุภาษาการเขียนโปรแกรมหรือเครื่องมือที่เกี่ยวข้อง หมายเหตุ: การขอ HTML, JSON และอื่น ๆ regex มีแนวโน้มที่จะพบกับปฏิกิริยาเชิงลบ หากมีการแยกวิเคราะห์มันใช้ที่แทน

19
PHP Regex เพื่อรับรหัสวิดีโอ youtube หรือไม่
มีคนแสดงให้ฉันดูว่าจะดึง youtube ออกจาก url ได้อย่างไรโดยไม่คำนึงถึงตัวแปร GET อื่น ๆ ที่อยู่ใน URL ใช้วิดีโอนี้เป็นตัวอย่าง: http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=related ดังนั้นระหว่างv=และก่อนหน้า&
137 php  regex 

7
แทนที่อักขระที่ไม่ใช่ตัวเลขอัลฟาเส้นใหม่และช่องว่างหลายช่องด้วยช่องว่างเดียว
ฉันกำลังมองหาโซลูชันRegEx ที่เรียบร้อยเพื่อแทนที่ อักขระที่ไม่ใช่อัลฟา - ตัวเลขทั้งหมด NewLines ทั้งหมด พื้นที่สีขาวหลายอินสแตนซ์ทั้งหมด ด้วยช่องว่างเดียว สำหรับผู้ที่เล่นในบ้าน ( ต่อไปนี้ใช้งานได้ ) text.replace(/[^a-z0-9]/gmi, " ").replace(/\s+/g, " "); ความคิดของฉันคือRegExอาจมีพลังมากพอที่จะบรรลุสิ่งนี้ในคำสั่งเดียว ส่วนประกอบที่ฉันคิดว่าต้องมีรหัส [^a-z0-9] - เพื่อลบอักขระที่ไม่ใช่อัลฟา - ตัวเลข \s+ - จับคู่คอลเลกชันของช่องว่างใด ๆ \r?\n|\r - จับคู่บรรทัดใหม่ทั้งหมด /gmi - ทั่วโลกหลายบรรทัดไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ อย่างไรก็ตามฉันไม่สามารถจัดรูปแบบนิพจน์ทั่วไปได้อย่างถูกต้อง ( สิ่งต่อไปนี้ใช้ไม่ได้ ) text.replace(/[^a-z0-9]|\s+|\r?\n|\r/gmi, " "); อินพุต 234&^%,Me,2 2013 1080p x264 5 1 BluRay …

8
ปฏิเสธการเข้าถึงโฟลเดอร์และไฟล์โดยตรงโดย htaccess
นี่คือสถานการณ์: มีindex.phpไฟล์อยู่ในโฟลเดอร์รูท ไฟล์บางไฟล์จะรวมindex.phpอยู่ในincludesโฟลเดอร์ อีก 1 ไฟล์ ( submit.php) อยู่ในโฟลเดอร์รูทสำหรับการดำเนินการส่งแบบฟอร์ม ฉันต้องการ จำกัด การเข้าถึงของผู้ใช้โดยตรงไปยังไฟล์ในincludesโฟลเดอร์โดย htaccess สำหรับsubmit.php. แต่รวมจะใช้ได้กับindex.phpไฟล์ เช่นเดียวกับหากผู้ใช้พิมพ์www.domain.com/includes/somepage.phpก็จะ จำกัด (อาจถูกเปลี่ยนเส้นทางไปยังหน้าแสดงข้อผิดพลาด)

26
การรับบางส่วนของ URL (Regex)
Наэтотвопросестьответына Stack Overflow нарусском : Достатьзначенияспомощьюрегулярок ระบุ URL (บรรทัดเดียว): http://test.example.com/dir/subdir/file.html ฉันจะแยกส่วนต่อไปนี้โดยใช้นิพจน์ทั่วไปได้อย่างไร: โดเมนย่อย (ทดสอบ) โดเมน (example.com) เส้นทางที่ไม่มีไฟล์ (/ dir / subdir /) ไฟล์ (file.html) เส้นทางที่มีไฟล์ (/dir/subdir/file.html) URL ที่ไม่มีเส้นทาง ( http://test.example.com ) (เพิ่มสิ่งอื่น ๆ ที่คุณคิดว่ามีประโยชน์) regex ควรทำงานได้อย่างถูกต้องแม้ว่าฉันจะป้อน URL ต่อไปนี้: http://example.example.com/example/example/example.html

5
วิธีแยกสตริงโดยใช้ JavaScript Regex
ฉันพยายามแยกสตริงย่อยจากไฟล์ด้วย JavaScript Regex นี่คือชิ้นส่วนจากไฟล์: DATE:20091201T220000 SUMMARY:Dad's birthday ฟิลด์ที่ฉันต้องการแยกคือ "สรุป" นี่คือแนวทาง: extractSummary : function(iCalContent) { /* input : iCal file content return : Event summary */ var arr = iCalContent.match(/^SUMMARY\:(.)*$/g); return(arr); }

5
sed: พิมพ์เฉพาะกลุ่มที่ตรงกัน
ฉันต้องการจับตัวเลขสองตัวสุดท้าย (หนึ่ง int, หนึ่ง float; ตามด้วยช่องว่างที่เลือกได้) และพิมพ์เฉพาะตัวเลขนั้น ตัวอย่าง: foo bar <foo> bla 1 2 3.4 ควรพิมพ์: 2 3.4 จนถึงตอนนี้ฉันมีสิ่งต่อไปนี้: sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p' จะให้ฉัน foo bar <foo> bla 1 replacement อย่างไรก็ตามหากฉันพยายามแทนที่ด้วยกลุ่ม 1 จะมีการพิมพ์ทั้งบรรทัด sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p' ฉันจะพิมพ์เฉพาะส่วนของบรรทัดที่ตรงกับนิพจน์ทั่วไปในกลุ่มได้อย่างไร
133 regex  sed 

7
Javascript และ regex: แยกสตริงและเก็บตัวคั่น
ฉันมีสตริง: var string = "aaaaaa<br />† bbbb<br />‡ cccc" และฉันต้องการแยกสตริงนี้ด้วยตัวคั่น<br />ตามด้วยอักขระพิเศษ ในการทำเช่นนั้นฉันใช้สิ่งนี้: string.split(/<br \/>&#?[a-zA-Z0-9]+;/g); ฉันได้รับสิ่งที่ต้องการยกเว้นว่าฉันสูญเสียตัวคั่น นี่คือตัวอย่าง: http://jsfiddle.net/JwrZ6/1/ ฉันจะเก็บตัวคั่นไว้ได้อย่างไร
133 javascript  regex 

3
Regex ไม่ใช่ตัวดำเนินการ
ไม่มีตัวดำเนินการใน Regexes หรือไม่? เช่นเดียวกับในสตริงนั้น:"(2001) (asdf) (dasd1123_asd 21.01.2011 zqge)(dzqge) name (20019)" ฉันต้องการลบทั้งหมด\([0-9a-zA-z _\.\-:]*\)แต่ไม่ใช่สิ่งที่เป็นปี: (2001). ดังนั้นสิ่งที่ regex (2001) nameควรกลับต้อง: หมายเหตุ: สิ่งที่เหมือน\((?![\d]){4}[0-9a-zA-z _\.\-:]*\)ไม่ได้ผลสำหรับฉัน (แต่(20019)ก็ตรงกับ ... )
133 java  regex  string 

4
Vim Regex แคปเจอร์กลุ่ม [bau -> byau: ceu -> cyeu]
ฉันมีรายการคำ: bau ceu diu fou gau ฉันต้องการเปลี่ยนรายการเป็น: byau cyeu dyiu fyou gyau ฉันลองคำสั่งไม่สำเร็จ: :%s/(\w)(\w\w)/\1y\2/g เนื่องจากสิ่งนี้ไม่ได้ผลฉันต้องเปลี่ยนอะไรเพื่อให้ regex capture group ทำงานใน Vim

10
grep โดยใช้เวกเตอร์อักขระที่มีหลายรูปแบบ
ฉันกำลังพยายามใช้ grepเพื่อทดสอบว่าเวกเตอร์ของสตริงมีอยู่ในเวกเตอร์อื่นหรือไม่และส่งออกค่าที่มีอยู่ (รูปแบบการจับคู่) ฉันมีกรอบข้อมูลดังนี้: FirstName Letter Alex A1 Alex A6 Alex A7 Bob A1 Chris A9 Chris A6 ฉันมีเวกเตอร์ของรูปแบบสตริงที่จะพบในคอลัมน์ "Letter" เช่น: c("A1", "A9", "A6")คอลัมน์ตัวอย่างเช่น: ฉันต้องการตรวจสอบว่ามีสตริงใด ๆ ในเวกเตอร์รูปแบบอยู่ในคอลัมน์ "Letter" หรือไม่ ถ้าเป็นเช่นนั้นฉันต้องการผลลัพธ์ของค่าที่ไม่ซ้ำกัน ปัญหาคือฉันไม่รู้ว่าจะใช้grepกับหลายรูปแบบได้อย่างไร ฉันเหนื่อย: matches <- unique ( grep("A1| A9 | A6", myfile$Letter, value=TRUE, fixed=TRUE) ) แต่มันให้ 0 แมตช์ที่ไม่จริงมีคำแนะนำไหม
132 r  regex 

6
จะแทนที่ทั้งบรรทัดด้วย sed ได้อย่างไร?
สมมติว่าฉันมีไฟล์ที่มีเส้น AAA = BBB ตอนนี้ฉันต้องการแทนที่ด้วย: AAA = xxx ฉันสามารถทำได้ดังนี้: sed "s / aaa = bbb / aaa = xxx / g" ตอนนี้ฉันมีไฟล์ที่มีสองสามบรรทัดดังนี้: AAA = BBB AAA = CCC AAA = ววว aaa = [อย่างอื่น] ฉันจะแทนที่บรรทัดทั้งหมดนี้aaa=[something]ด้วยการaaa=xxxใช้sed ได้อย่างไร
132 regex  sed 

8
แยกส่วนของการจับคู่นิพจน์ทั่วไป
ฉันต้องการนิพจน์ทั่วไปเพื่อแยกหัวเรื่องจากหน้า HTML ขณะนี้ฉันมีสิ่งนี้: title = re.search('<title>.*</title>', html, re.IGNORECASE).group() if title: title = title.replace('<title>', '').replace('</title>', '') มีนิพจน์ทั่วไปในการแยกเฉพาะเนื้อหาของ <title> ดังนั้นฉันจึงไม่ต้องลบแท็กออกหรือไม่

4
ทำไม“ asdf” .replace (/.*/ g,“ x”) ==“ xx”
ฉันเจอความจริงที่น่าประหลาดใจ (กับฉัน) console.log("asdf".replace(/.*/g, "x")); เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล ทำไมต้องเปลี่ยนทั้งสอง ดูเหมือนว่าสตริงที่ไม่ว่างโดยไม่มีบรรทัดใหม่จะสร้างการแทนที่สองรูปแบบสำหรับรูปแบบนี้ ใช้ฟังก์ชั่นการแทนที่ฉันจะเห็นว่าการแทนที่ครั้งแรกสำหรับทั้งสายและที่สองคือสำหรับสตริงที่ว่างเปล่า
131 javascript  regex 

9
Regex ทุกอักขระที่ไม่ใช่ตัวเลขและตัวอักษรยกเว้นช่องว่างหรือเครื่องหมายทวิภาค
ฉันจะทำสิ่งนี้ได้อย่างไร? โดยพื้นฐานแล้วฉันพยายามจับคู่อักขระเบ็ดเตล็ดทุกประเภทเช่นเครื่องหมายแอมเพอร์แซนด์อัฒภาคเครื่องหมายดอลลาร์ ฯลฯ
131 regex 

8
sed one-liner เพื่อแปลงตัวพิมพ์ใหญ่ทั้งหมดเป็นตัวพิมพ์เล็ก?
ฉันมีไฟล์ข้อความที่มีบางคำพิมพ์เป็นตัวพิมพ์ใหญ่ทั้งหมด ฉันต้องการเพียงแค่แปลงทุกอย่างในไฟล์ข้อความเป็นตัวพิมพ์เล็กโดยใช้sed. นั่นหมายความว่าประโยคแรกจะอ่านว่า 'ฉันมีไฟล์ข้อความที่มีบางคำพิมพ์ด้วยตัวพิมพ์ใหญ่ทั้งหมด'
131 regex  sed 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.