Intelligently generate and explain regular expressions, supporting various common pattern matching
Konverter dine tekstinstruktioner til formler, eller få forklaringer på formler.
Rediger Excel online gennem samtale med AI
Brug AI til at konvertere dine tekstinstruktioner til SQL-forespørgsler.
Generer Excel VBA-kode til automatisering og tilpassede løsninger i Microsoft Excel.
Upload din Excel-fil og brug vores AI-drevne diagramgenerator til at skabe smukke diagrammer.
Brug vores AI-drevne mindmap generator til at omdanne din tekst til smukke mindmaps. Rediger og tilpas nemt.
Use AI to intelligently generate and explain regular expressions, supporting various text pattern matching and data validation.
Generer smukke billeder fra tekstbeskrivelser ved hjælp af AI, med flere størrelser. Gratis!
> Denne artikel er en komplet tutorial for JavaScript Regulære Udtryk (RegExp), fra begynder til avanceret. Den inkluderer syntaksregler, almindelige metategn, flags, assertions, gruppering, greedy versus lazy matching og kan anvendes til front-end udvikling, web-scraping, formvalidering og andre scenarier. Den er velegnet til både begyndere og avancerede brugere som lærings- og reference materiale.
const regex1 = /abc/; // Literal måde
const regex2 = new RegExp('abc'); // Konstruktør måde
Flag | Beskrivelse |
---|---|
g |
Globalt match |
i |
Case-insensitivt match |
m |
Multiline match |
s |
Tillader . at matche linjeskift (ES2018)
|
u |
Understøtter Unicode (ES6) |
y |
Sticky matching (ES6) |
Eksempel:
const re = /hello/gi;
const str = 'Hello hello';
console.log(str.match(re)); // ["Hello", "hello"]
Tegn | Betydning |
---|---|
. |
Matcher ethvert tegn (undtagen linjeskift) |
\d |
Matcher et ciffer [0-9] |
\D |
Matcher et ikke-ciffer tegn |
\w |
Matcher et ordtegn (alfanumerisk + underscore) |
\W |
Matcher et ikke-ordtegn |
\s |
Matcher et mellemrumstegn |
\S |
Matcher et ikke-mellemrumstegn |
\b |
Matcher en ordbegrænsning |
\B |
Matcher en ikke-ordbegrænsning |
\\ |
Matcher en backslash |
/[abc]/ // Matcher 'a' eller 'b' eller 'c'
/[a-z]/ // Matcher små bogstaver
/[A-Z]/ // Matcher store bogstaver
/[0-9]/ // Matcher cifre
/[^abc]/ // Matcher ethvert tegn undtagen a, b eller c
Kvantor | Betydning |
---|---|
* |
Matcher det foregående element 0 eller flere gange |
+ |
Matcher det foregående element 1 eller flere gange |
? |
Matcher det foregående element 0 eller 1 gang |
{n} |
Matcher præcis n gange |
{n,} |
Matcher mindst n gange |
{n,m} |
Matcher mindst n gange, højst m gange |
Eksempel:
/\d{4}/.test("2025"); // true
/ab{2,4}c/.test("abbbc"); // true
/(abc)/ // Fangende gruppe
/(abc){2}/ // Fangende gruppe gentaget
/(?:abc)/ // Ikke-fangende gruppe
/(a)(b)(c)/ // Flere fangende grupper
Uddragning af matches:
const match = /(hello) (\w+)/.exec("hello world");
console.log(match[1]); // hello
console.log(match[2]); // world
/\d+(?=px)/ // Matcher cifre efterfulgt af px
/\d+(?!px)/ // Matcher cifre ikke efterfulgt af px
/(?<=\$)\d+/ // Matcher cifre forudgået af $
/(?<!$)\d+/ // Matcher cifre ikke forudgået af $
Udtryk | Matching Adfærd |
---|---|
.* |
Greedy (så meget som muligt) |
.*? |
Lazy (så lidt som muligt) |
Eksempel:
const str = '<p>text</p><p>more</p>';
const greedy = /<p>.*<\/p>/;
const lazy = /<p>.*?<\/p>/g;
console.log(str.match(greedy)); // ['<p>text</p><p>more</p>']
console.log(str.match(lazy)); // ['<p>text</p>', '<p>more</p>']
/^[\w.-]+@[a-zA-Z\d.-]+\.[a-zA-Z]{2,}$/.test("[email protected]");
/^1[3-9]\d{9}$/.test("13888888888");
const cleaned = str.replace(/\s+/g, '');
const domain = url.match(/https?:\/\/([^\/]+)/)[1];
Metode | Beskrivelse |
---|---|
test(str) |
Tester om strengen matcher |
exec(str) |
Returnerer matchresultat objekt (med grupper) |
str.match(re) |
Returnerer alle matches (med global flag) |
str.replace() |
Ersætter matchende indhold |
str.split(re) |
Opdeler strengen ved brug af regex |
str.search(re) |
Returnerer indekset for det første match |
Denne tutorial giver et systematisk overblik over JavaScript Regulære Udtryks syntaks og praktiske anvendelseseksempler, egnet til front-end udvikling, back-end udvikling, tekstbehandling og forskellige andre anvendelsesscenarier. At mestre regulære udtryk kan i høj grad forbedre effektiviteten af strengbehandling.