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

หรือที่เรียกว่านิพจน์ปกติหรือ regexp คำอธิบายของชุดสตริงมักใช้สำหรับค้นหาและตรวจสอบสตริง

1
ฉันจะใช้การขึ้นบรรทัดใหม่ด้วยการค้นหาและแทนที่ใน Visual Studio ได้อย่างไร
ฉันค่อนข้างชอบฟังก์ชั่น "ค้นหาและแทนที่" ใน Visual Studio ฟังก์ชั่นให้ฉันแทนที่วลีคำสัญลักษณ์หรืออะไรก็ได้ที่คุณสามารถพิมพ์ลงในกล่องข้อความบนหน้าจอ ฉันจะทำให้มันแทนที่ตัวละครด้วยการขึ้นบรรทัดใหม่ได้อย่างไร

3
วิธีลบไฟล์ในบรรทัดคำสั่งด้วยนิพจน์ทั่วไป
ช่วยบอกว่าฉันมี 20 ไฟล์ชื่อ FOOXX โดยที่ XX คือจำนวนไฟล์เช่น 01, 02 เป็นต้น ในตอนนี้ถ้าฉันต้องการลบไฟล์ทั้งหมดที่ต่ำกว่าหมายเลข 10 มันเป็นเรื่องง่ายและฉันก็ใช้ไวด์การ์ดเช่น rm FOO0 * อย่างไรก็ตามหากฉันต้องการลบไฟล์ในช่วงที่ระบุเช่น 13-15 นี่จะยากขึ้น rm FPP [13-15] ไม่ทำงานและถามฉันว่าฉันต้องการลบไฟล์ทั้งหมดหรือไม่ Likewse rm FOO1 [3-5] ต้องการลบไฟล์ทั้งหมดที่ขึ้นต้นด้วย FOO1 ดังนั้นวิธีที่ดีที่สุดในการลบช่วงของไฟล์เช่นนี้คืออะไร? ฉันได้ลองทั้ง bash และ zsh แล้วและฉันไม่คิดว่าพวกเขาจะแตกต่างกันมากนักสำหรับงานพื้นฐานเช่นนี้?
18 linux  bash  shell  regex  zsh 

5
มีซอฟต์แวร์ที่อนุญาตให้ฉันค้นหาไฟล์ PDF ด้วย Regex หรือไม่?
ฉันต้องการโปรแกรมดู PDF ที่ฉันสามารถค้นหาเอกสารด้วยการใช้นิพจน์ทั่วไป มีอะไรแบบนี้เหรอ? ฉันได้ลองใช้ PowerGrep แล้ว แต่มันไม่มีตัวแสดงกราฟิกและอินเทอร์เฟซของมันค่อนข้างหนักสำหรับผู้ใช้ของฉัน ขอบคุณมากสำหรับเวลาและการพิจารณาของคุณ

5
การใช้ wildcard search / replace ใน Notepad ++
นี่คือปัญหาของฉัน: ในไฟล์. txt ฉันต้องค้นหาและแทนที่อินสแตนซ์ของไวยากรณ์นับพันดังนี้: (ดู (a053007djfgspwdf)) หรือ (ดู (a053007djfgspwdf) และ (a54134xsedgeg)) หรือ (ดู (a053007djfgspwdf), (a9554xsdfgsdfg) และ (a54134xsedgeg)) มีความหลากหลายระหว่างสตริงข้อความเริ่มต้น(ดู (และ (สิ้นสุด)) สามารถตั้งค่านี้ใน Notepad ++ โดยใช้ regex ได้หรือไม่? ถ้าเป็นเช่นนั้นฉันจะทำอย่างไร ขอบคุณ!

5
จับคู่และลบใน Notepad ++
ฉันมีข้อความต่อไปนี้ในNotepad ++ 192.168.0.1 37 ms N / A 192.168.0.2 Dead N / S 192.168.0.3 Dead N / S 192.168.0.100 37 ms N / A ฉันจะค้นหาและแทนที่ที่ตรงกับ "Dead" และกำจัดบรรทัดที่มีเอาต์พุตดังต่อไปนี้ได้อย่างไร 192.168.0.1 37 ms N / A 192.168.0.100 37 ms N / A ฉันพยายามใช้นิพจน์ทั่วไป ^.*Dead.*$ที่ลบบรรทัด แต่ไม่ได้ลบช่องว่าง

6
NotePad ++ - เหตุใดการค้นหา ^ จึงไม่ทำงาน
ฉันกำลังพยายามย้ายออกจากTextPadและฉันไม่สามารถรับนิพจน์ทั่วไปที่ต้องการ^และ$ถูกแทนที่ได้ ฉันทำเครื่องหมายในช่องนิพจน์ปกติแล้ว ผมทำอะไรผิดหรือเปล่า? ฉันพยายามค้นหาจุดเริ่มต้นของบรรทัดใหม่ ใน TextPad จะค้นหา '^' และตรวจสอบให้แน่ใจว่านิพจน์ทั่วไปเปิดใช้งานแล้ว ด้วย Notepad ++ มันไม่ทำอย่างนั้น เพียงแค่พูดว่า "ไม่พบ"
16 regex  notepad++ 

1
ฉันจะรวมบรรทัดใหม่ในการค้นหาได้อย่างไร
ฉันจะค้นหาบรรทัดใหม่ (หรือท้ายบรรทัด) เป็นส่วนหนึ่งของการค้นหาโดยใช้น้อยลงได้อย่างไร ตัวอย่างเช่นผมต้องการที่จะค้นหาlength=9\nแต่ไม่ต้องการที่จะเป็นเพียงการค้นหาเนื่องจากว่าจะได้รับตรงกับlength==9length=90\n ฉันใช้ GNU bash รุ่น 4.0.33 (1) - ปล่อย (x86_64-pc-linux-gnu) บน Ubuntu 9.10 (Karmic Koala) ฉันพยายามอ่านคู่มือที่เป็นมิตร แต่ก็พูดว่า /pattern ค้นหาไปข้างหน้าในไฟล์สำหรับบรรทัด N-th ที่มีรูปแบบ N เป็นค่าเริ่มต้นที่ 1 รูปแบบเป็นนิพจน์ทั่วไปตามที่ได้รับการยอมรับโดยไลบรารีนิพจน์ทั่วไปที่ระบบของคุณให้มา การค้นหาเริ่มต้นที่บรรทัดที่สองที่แสดง (แต่ดูตัวเลือก -a และ -j ซึ่งเปลี่ยนสิ่งนี้) และฉันไม่รู้วิธี RTFM เกินกว่านั้น
16 regex  less 

2
เป็นไปได้ไหมที่จะใช้งานไม่ได้ในการแสดงออกปกติใน TextMate?
ฉันมีโครงการ Matlab ที่ฉันทำงานใน TextMate editor OSX ฉันต้องการค้นหาคำทั้งหมดบางคำสมมติว่าเป็น "foo" ซึ่งไม่ได้นำหน้าด้วย "" หรือประสบความสำเร็จโดย "/" อย่างไรก็ตามฉันไม่สามารถหาวิธีค้นหานิพจน์ทั่วไปที่กำหนดในลักษณะลบได้ ไม่มีใครรู้ว่ามันเป็นไปได้ที่จะค้นหาสิ่งที่ต้องการ "A นำหน้าด้วยสิ่งอื่นที่ไม่ใช่ B"? (TextMate ใช้ตัว ไลบรารีนิพจน์ทั่วไปของ Oniguruma โดย K. Kosako)
15 regex  textmate 

6
วิธีแสดงรายการไฟล์ต้นฉบับทั้งหมด (* .c, * .cpp, * .h)
ฉันต้องการหาไฟล์ต้นฉบับ (* .c, * .cpp, * .h) ที่มีใน Linux / MinGW / Cygwin และเรียกซ้ำในไดเรกทอรีย่อยทั้งหมด พื้นฐานความคิดของฉันคือการใช้และfind grepอย่างไรก็ตามการสร้างนิพจน์ทั่วไปที่สามารถตรวจสอบชื่อไฟล์ที่กำหนดคือ * .c, * .cpp หรือ * .h นั้นไม่ใช่เรื่องง่าย คุณช่วยฉันออก
15 find  grep  regex 

3
ฉันจะลบ U + 200B (เว้นวรรคความกว้างเป็นศูนย์) ได้อย่างไรโดยใช้ sed
ฉันมีไฟล์ขนาดใหญ่มากที่มีช่องว่างที่มีความกว้างเป็นศูนย์กระจายอยู่ทั่ว มันต้องใช้เวลานานเกินไปในการเปิดและแก้ไขการใช้ดังนั้นฉันต้องการที่จะลบทุกกรณีของตัวละครโดยใช้vi sedปัญหาคือฉันไม่สามารถหาวิธีจับคู่ตัวละครได้! ฉันลองใช้\u200Bแล้ว\x{200b}. ความคิดใด ๆ ฉันใช้ CentOS 5 ถ้านั่นช่วยได้ทั้งหมด
15 regex  unicode  sed 

3
เครื่องมือแก้ไขข้อความใด ๆ ที่สามารถใช้คณิตศาสตร์เพื่อแทนที่ข้อความได้
ฉันมีไฟล์ XML ขนาดใหญ่ <obj param="2542"> <obj param="2333"> <obj param="6433"> ฉันต้องการเพิ่มค่า "param" ทั้งหมดด้วยจำนวนหนึ่ง ฉันสามารถจับคู่ตัวเลขที่ฉันต้องการด้วยการค้นหา regexp ในตัวแก้ไขหลายตัว แต่จะนำคณิตศาสตร์ไปใช้กับการแทนที่ได้อย่างไร

2
วิธีการค้นหาใน PDF โดยใช้นิพจน์ทั่วไป?
โดยปกติฉันใช้ Notepad ++ เพื่อค้นหาไฟล์โดยใช้นิพจน์ทั่วไป วันนี้ฉันสงสัยว่ามีโปรแกรม PDF ที่ทำเช่นเดียวกันกับ PDF หรือไม่ แน่นอนว่าฉันสามารถแปลง PDF เป็นข้อความและใช้ Notepad ++ แต่มีวิธีที่ง่ายกว่าโดยไม่ต้องแปลงหรือไม่?
15 pdf  search  regex 

8
Notepad ++ - การลบคอลัมน์แรกในไฟล์ที่คั่นด้วยเครื่องหมายจุลภาค
ฉันมีไฟล์ CSVขนาดใหญ่ที่ฉันต้องการลบคอลัมน์แรกของข้อมูล ฉันไม่สามารถเปิดใน Excel ได้เนื่องจาก Excel แปลงค่าบางอย่างในคอลัมน์ให้เป็นตัวเลขทางวิทยาศาสตร์ ฉันใช้Notepad ++และฉันพยายามสตริงคอลัมน์แรกจากไฟล์ EXE 1,Value1,value2,value3,value4,value5 3445,Value1,value2,value3,value4,value5 12345,Value1,value2,value3,value4,value5 1234,Value1,value2,value3,value4,value5 11,Value1,value2,value3,value4,value5 ให้ดูเหมือน Value1,value2,value3,value4,value5 Value1,value2,value3,value4,value5 Value1,value2,value3,value4,value5 Value1,value2,value3,value4,value5 Value1,value2,value3,value4,value5

1
ทำไมจึงมีหลากหลายรูปแบบการแสดงออกปกติ? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ใช้ขั้นสูง ปิดให้บริการใน7 ปีที่ผ่านมา วันนี้เมื่อฉันตรวจสอบซอร์สโค้ดของโครงการฉันพบว่ามี "ช่องว่าง" และ "แท็บ" ที่ไม่จำเป็นจำนวนมากอยู่ที่ปลายแต่ละบรรทัด ดังนั้นฉันตัดสินใจที่จะลบพวกเขาด้วยการแสดงออกปกติ อย่างไรก็ตามฉันพบว่าคำสั่งsed -i '/\s+$/d'ไม่ทำงาน จนกว่าฉันจะเปลี่ยนคำสั่งเป็นsee -ri '/\s+$/d'มันทำหน้าที่เป็นความคาดหวังของฉัน จากคู่มือของsedมันกล่าวว่า-rจะเรียก regexp เพิ่มเติม ฉันสับสนทำไมมีหลายสายพันธุ์ regexp? เช่น regim เป็นกลุ่ม / emacs / perl / sed ทำไม regexp จึงเสนอส่วนต่อประสานผู้ใช้ที่ไม่ซ้ำกัน
14 regex 

4
วิธีการแทนที่ตัวละครซ้ำด้วย sed?
เป็นไปได้หรือไม่ที่จะแทนที่การเกิดขึ้นของลำดับอักขระซ้ำโดยไม่วนซ้ำในลำดับเดียวกันอีกครั้ง? ด้วยการทำsedตามในสถานการณ์ต่อไปนี้ฉันจะได้รับผลลัพธ์ที่กล่าวถึง $ echo XX | sed -e 's/XX/XoX/g' XoX $ echo XXX | sed -e 's/XX/XoX/g' XoXX $ echo XXXX | sed -e 's/XX/XoX/g' XoXXoX อย่างไรก็ตามฉันคาดว่าผลลัพธ์จะเป็นไปตามลักษณะการทำงานต่อไปนี้ การป้อนข้อมูล: XX XXX XXXX ผลลัพธ์ที่คาดหวัง: XoX XoXoX XoXoXoX เป็นไปได้ไหมที่จะบรรลุถึงพฤติกรรมที่คาดหวัง
13 linux  bash  regex  sed 

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