[請益] 請教terminal 餵正規表示法給perl問題

看板Perl作者時間3年前 (2021/04/10 02:11), 3年前編輯推噓2(202)
留言4則, 2人參與, 3年前最新討論串1/1
大家好 我以terminal餵資料給perl遇到一些問題 fileA Aao.a1.b2.c3.d4:a Aao.a5.b10.c6.d2:b Abo.a6.b15.c2.d9:b Aao.a6.b4.c2.d7:b Aao.a6.b4.c5.d7:b 我要從fileA找到特定的字串 我這樣寫 tmp.pl open fid_rd,”<fileA”; while(<fid_rd>){ if($_ =~ /ARGV[0]/){ print $_; } } close fid_rd; >./tmp.pl A[ao\bo]+.a[1\|6]+.b[4\15|]+.c[2\|5]+.d[7\|9]+:b 理論上應該要出現3,4,5行,但是有可能出現第一行或第二行不符合規則的資料 所以想跟大家請教,我要怎麼改才對呢? 先謝謝大家了 因為公司無法把程式碼寄出來,所以我寫簡易版的,如果需要更多資訊,請再跟我說,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.11.43 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1617991870.A.E52.html

04/10 14:27, 3年前 , 1F
regular expression寫法有問題,你要的可能是(…)
04/10 14:27, 1F

04/10 14:27, 3年前 , 2F
而不是[...],建議寫死在程式碼中先測試一下
04/10 14:27, 2F
我只是要「找到」,不需要擷取,也是這樣寫嗎? 謝了,原來是我對regexp的用法錯了,感謝指教

04/10 16:36, 3年前 , 3F
\b 在[...]裡面代表 backspace 字符
04/10 16:36, 3F
※ 編輯: jacky1989 (101.10.13.146 臺灣), 04/10/2021 17:48:59

04/11 06:31, 3年前 , 4F
參 www.regular-expressions.info/charclass.html
04/11 06:31, 4F
感謝提供有用資訊 ※ 編輯: jacky1989 (180.176.11.43 臺灣), 04/12/2021 23:43:14
文章代碼(AID): #1WS9Y-vI (Perl)
文章代碼(AID): #1WS9Y-vI (Perl)