เอกสารอ้างอิงนิพจน์ปกติที่ค้นหาและพิมพ์ได้——คลาสอักขระ, anchor, quantifier, กลุ่ม, lookaround, flag และรูปแบบสำเร็จรูป ฟรี

Character class

12
\d
ตัวเลขใดก็ได้ เท่ากับ [0-9]
\D
อักขระที่ไม่ใช่ตัวเลข
\w
อักขระคำ: ตัวอักษร ตัวเลข หรือ underscore
\W
อักขระที่ไม่ใช่อักขระคำ
\s
ช่องว่างใดก็ได้ (space, tab, newline)
\S
อักขระที่ไม่ใช่ช่องว่าง
.
อักขระใดก็ได้ยกเว้น newline
[abc]
ตัวใดตัวหนึ่งใน a, b หรือ c
[^abc]
อักขระใดก็ได้ยกเว้น a, b หรือ c
[a-z]
ตัวพิมพ์เล็กใดก็ได้ในช่วง
[A-Za-z0-9]
อักขระตัวอักษรหรือตัวเลขใดก็ได้
[\d\s]
รวม class ภายในวงเล็บ

Anchor และขอบเขต

8
^
จุดเริ่มของ string (หรือบรรทัดในโหมด multiline)
$
จุดสิ้นสุดของ string (หรือบรรทัดในโหมด multiline)
\b
ขอบเขตคำระหว่าง \w และ \W
\B
ไม่ใช่ขอบเขตคำ
\A
จุดเริ่มของ string ทั้งหมด (PCRE)
\z
จุดสิ้นสุดของ string ทั้งหมด (PCRE)
\Z
จุดสิ้นสุดของ string ก่อน newline ท้าย (PCRE)
\G
จุดเริ่มของการ match ปัจจุบัน (PCRE)

Quantifier

11
*
ศูนย์ตัวขึ้นไปของ token ก่อนหน้า
+
หนึ่งตัวขึ้นไปของ token ก่อนหน้า
?
ศูนย์หรือหนึ่ง (ทำให้ไม่บังคับ)
{n}
ซ้ำ n ครั้งพอดี
{n,}
ซ้ำ n ครั้งขึ้นไป
{n,m}
ซ้ำระหว่าง n ถึง m ครั้ง
*?
Lazy: ศูนย์ตัวขึ้นไป น้อยที่สุดเท่าที่ได้
+?
Lazy: หนึ่งตัวขึ้นไป น้อยที่สุดเท่าที่ได้
??
Lazy: ไม่บังคับ เลือกศูนย์ก่อน
{2,5}?
การซ้ำแบบมีขอบเขตเชิง lazy
a++
Possessive: ไม่มี backtracking (PCRE)

Group และ backreference

9
(abc)
Capturing group เก็บผล match
(?:abc)
Non-capturing group
(?<name>abc)
Named capturing group
(?P<name>abc)
Named group ไวยากรณ์ PCRE อีกแบบ
a|b
Alternation: match a หรือ b
(red|blue)
Alternation แบบจัดกลุ่ม
\1
Backreference ไปยัง capturing group 1
\k<name>
Backreference ไปยัง named group
$1
อ้างถึง group 1 ในการแทนที่

Lookaround

6
(?=abc)
Positive lookahead: ตามด้วย abc
(?!abc)
Negative lookahead: ไม่ตามด้วย abc
(?<=abc)
Positive lookbehind: นำหน้าด้วย abc
(?<!abc)
Negative lookbehind: ไม่นำหน้าด้วย abc
\d(?=px)
ตัวเลขเฉพาะเมื่อตามด้วย px
(?<=\$)\d+
ตัวเลขเฉพาะเมื่อนำหน้าด้วยเครื่องหมายดอลลาร์

Flag และ modifier

10
g
Global: หาทุก match ไม่ใช่แค่ตัวแรก
i
Match แบบไม่สนตัวพิมพ์ใหญ่เล็ก
m
Multiline: ^ และ $ match การขึ้นบรรทัด
s
Dotall: . match newline ด้วย
u
โหมด Unicode (code point เต็ม)
x
Extended: ละช่องว่าง อนุญาตคอมเมนต์
y
Sticky: match จาก lastIndex (JS)
(?i)
Flag inline ไม่สนตัวพิมพ์ (PCRE)
(?im)
รวม flag inline
(?i:abc)
Flag inline เฉพาะ group

Escape และอักขระพิเศษ

11
\.
จุดตามตัวอักษร
\\
backslash ตามตัวอักษร
\/
forward slash ตามตัวอักษร (ใน /.../ literal)
\t
อักขระ Tab
\n
Newline (line feed)
\r
Carriage return
\f
Form feed
\0
อักขระ Null
\xFF
อักขระจากรหัส hex สองหลัก
\x{00E9}
Unicode code point จาก hex (PCRE)
\Qabc\E
Quote บล็อก literal (PCRE)

ทางลัด token ที่ใช้บ่อย

10
[0-9]
ตัวเลขหนึ่งตัว เหมือน \d
[a-fA-F0-9]
เลข hexadecimal หนึ่งหลัก
\d+
ตัวเลขหนึ่งตัวขึ้นไป (จำนวนเต็ม)
\w+
อักขระคำหนึ่งตัวขึ้นไป
\s+
อักขระช่องว่างหนึ่งตัวขึ้นไป
.*
ลำดับอักขระใดก็ได้ (greedy)
.*?
ลำดับอักขระใดก็ได้ (lazy)
[^\s]+
อักขระที่ไม่ใช่ช่องว่างหนึ่งตัวขึ้นไป
\b\w+\b
คำทั้งคำ
(?:\r\n|\n|\r)
การจบบรรทัดใดก็ได้

แพตเทิร์นใช้งานจริง

10
^[\w.+-]+@[\w-]+\.[\w.-]+$
อีเมลแบบง่าย
https?:\/\/[^\s]+
URL แบบ HTTP หรือ HTTPS
\b(?:\d{1,3}\.){3}\d{1,3}\b
ที่อยู่ IPv4
#?[a-fA-F0-9]{6}\b
สี hex หกหลัก
\d{4}-\d{2}-\d{2}
วันที่รูปแบบ YYYY-MM-DD
\+?\d[\d\s-]{7,}\d
เบอร์โทร (แบบหลวม)
[a-z0-9]+(?:-[a-z0-9]+)*
URL slug (พิมพ์เล็ก, ขีดกลาง)
^\s+|\s+$
ช่องว่างหน้าหรือท้าย (trim)
\s{2,}
ช่องว่างติดกันสองตัวขึ้นไป
<[^>]+>
tag HTML (แบบง่าย)

คุณสมบัติ Unicode

10
\p{L}
ตัวอักษรชนิดใดก็ได้จากภาษาใดก็ได้
\P{L}
อักขระที่ไม่ใช่ตัวอักษร
\p{N}
อักขระตัวเลขชนิดใดก็ได้
\p{Lu}
ตัวพิมพ์ใหญ่
\p{Ll}
ตัวพิมพ์เล็ก
\p{P}
อักขระเครื่องหมายวรรคตอนใดก็ได้
\p{Sc}
สัญลักษณ์สกุลเงิน
\p{Han}
อักขระอักษรฮั่น (จีน)
\p{Emoji}
อักขระ emoji (เมื่อรองรับ)
\p{Greek}
อักขระจากอักษรกรีก

ไม่มีรายการที่ตรงกับ “:q”


แชร์สิ่งนี้
ต้องการความช่วยเหลือ?
พบปัญหากับเครื่องมือนี้หรือไม่? แจ้งทีมงานของเรา
รายงานปัญหา

เพิ่มเครื่องมือฟรีนี้ลงในเว็บไซต์ของคุณเอง — คัดลอกและวางโค้ดด้านล่าง