ฉันมีคำถามด่วน ฉันทำอะไรผิดในโค้ดด้านล่าง:
#!/usr/bin/perl -w
use strict;
my $num = "12345";
print "$num \n" if $num =~ m/\d{1,3}/;
เนื่องจากตัวเลขของฉันมีความยาว 5 หลัก ฉันหวังว่าผลลัพธ์ไม่ควรพิมพ์อะไรเลย เพราะหากคำสั่งกำลังมองหาตัวเลขที่มีอย่างน้อย 1 หลักและสูงสุด 3 หลัก แต่สคริปต์ของฉันไพน์ผลลัพธ์ดังนี้:
# perl num.pl
12345
ฉันเข้าใจผิด regex ข้างต้นหรือไม่
ขอบคุณ.
แก้ไข:
ที่จริงแล้วฉันกำลังพยายามจับคู่ที่อยู่ IP เช่นสตริง เช่น. ฉันต้องการจับคู่ 11.222.3.444
แต่ใช้ไม่ได้กับ m/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}/
ดังนั้นฉันจึงเริ่มทำงานกับสตริงเดียวที่มีเฉพาะตัวเลข และจากนั้นจึงโพสต์สิ่งนี้ลงในสแต็กโอเวอร์โฟลว์
หากฉันต้องใส่ ^ OR $ ฉันควรใช้งานมันอย่างไรหากฉันต้องการจับคู่ที่อยู่ IP เหมือนสตริงที่กล่าวไว้ข้างต้น
ขอบคุณสำหรับเวลาของคุณ
^
และ$
- person flesk   schedule 07.09.2012.
ใช้\.
- person jchips12   schedule 07.09.2012