JavaScript-regulariteettimallit
- Edellinen sivu JS-bittisopimukset
- Seuraava sivu JS-laskentajärjestys
正则表达式是构成搜索模式的字符序列。
该搜索模式可用于文本搜索和文本替换操作。
什么是正则表达式?
正则表达式是构成搜索模式(search pattern)的字符序列。
当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容。
正则表达式可以是单字符,或者更复杂的模式。
正则表达式可用于执行所有类型的文本搜索和文本替换操作。
语法
/pattern/modifiers;
Esimerkki
var patt = /codew3c/i;
例子解释:
/codew3c/i
是一个正则表达式。
codew3c
是模式(pattern)(在搜索中使用)。
Muunnos
是修饰符(把搜索修改为大小写不敏感)。
使用字符串方法
在 JavaScript 中,正则表达式常用于两个字符串方法:search()
和 replace()
.
search()
方法使用表达式来搜索匹配,然后返回匹配的位置。
replace()
方法返回模式被替换处修改后的字符串。
使用字符串方法 search() 来处理字符串
search()
方法也接受字符串作为搜索参数。字符串参数将被转换为正则表达式:
Esimerkki
使用字符串来执行对 "W3school" 的搜索:
var str = "Visit CodeW3C.com!"; var n = str.search("W3School");
在字符串方法 search() 中使用正则表达式
Esimerkki
使用正则表达式执行搜索字符串中 "codew3c" 的大小写不敏感的搜索:
var str = "Visit CodeW3C.com"; var n = str.search(/codew3c/i);
n tuloksena tulee olemaan:
6
Käytä merkkijonometodia replace() käsittelemään merkkijonoa
replace()
Se hyväksyy myös merkkijonon hakuparametrina:
var str = "Visit Microsoft!"; var res = str.replace("Microsoft", "W3School");
Käytä säännöllistä lauseketta replace() metodissa
Esimerkki
Käytä suuruus排他的 säännöllistä lauseketta korvataan Microsoft W3school merkkijonossa:
var str = "Visit Microsoft!"; var res = str.replace(/microsoft/i, "W3School");
res tuloksena tulee olemaan:
Vierailka CodeW3C.com!
Huomasitko sen?
Säännöllisen lausekkeen parametrit (ei merkkijonon parametreja) voidaan käyttää yllä olevissa menetelmissä.
Säännöllinen lauseke voi tehdä etsinnästäsi voimakkaampaa (esim. ei suuruus排他的).
Säännöllinen lausekemuunnos
MuunnosVoit käyttää laajempaa muunnosta suuruuden suhteen:
Muunnos | Kuvaus | Kokeile! |
---|---|---|
Muunnos | Suorita suuruus排他的匹配。 | Kokeile! |
g | Suorita kokonais匹配(etsi kaikki sopivuudet eikä lopeta löytäytynyt ensimmäinen sopivuus.). | Kokeile! |
m | Suorita monirivinen sopivuus. | Kokeile! |
Säännöllinen lausekemalli
SulkeetKäytetään löytämään tiettyyn lausekkeeseen sopivia merkkijonoja:
Lauseke | Kuvaus | Kokeile! |
---|---|---|
[abc] | Etsi sulkeiden välillä olevaa minkä tahansa merkkiä. | Kokeile! |
[0-9] | Etsi millä tahansa 0-9 luku. | Kokeile! |
(x|y) | Etsi millä tahansa | erotetusta vaihtoehdosta. | Kokeile! |
Metasyntaksi (Metacharacter)On merkki, jolla on erityinen merkitys:
Metasyntaksi | Kuvaus | Kokeile! |
---|---|---|
\d | Etsi numeroita. | Kokeile! |
\s | Etsi tyhjää. | Kokeile! |
\b | Sovitaan sanarajaa. | Kokeile! |
\uxxxx | Etsi Unicode-merkki, joka on määritelty heksadesimaaliluvulla xxxx. | Kokeile! |
Quantifiers Määrittele määrittely:
Määrittely | Kuvaus | Kokeile! |
---|---|---|
n+ | Sovitaan mihin tahansa merkkijonoon, joka sisältää n:ää ainakin yhden kerran. | Kokeile! |
n* | Sovitaan mihin tahansa merkkijonoon, joka sisältää n:ää nolla tai useita kertoja. | Kokeile! |
n? | Sovitaan mihin tahansa merkkijonoon, joka sisältää n:ää nolla tai yksi kerran. | Kokeile! |
Käytä RegExp-objektia
JavaScriptissa RegExp-objekti on säännöllisen lausekkeen objekti, jolla on ennalta määritetyt ominaisuudet ja metodit.
Käytä test()
test()
On säännöllinen lausekemetodi.
Se etsii merkkijonon malleja ja palauttaa sitten true tai false tuloksena.
Seuraava esimerkki etsii merkkijonosta merkkijonon "e":
Esimerkki
var patt = /e/; patt.test("The best things in life are free!");
Koska merkkijonossa on yksi "e", edellä olevan koodin tulostus on:
true
Ei ole tarpeen ensin asettaa säännöllinen lauseke muuttujaan. Yllä olevat kaksi riviä voidaan lyhentää yhdellä rivillä:
/e/.test("The best things in life are free!");
Käytä exec()
exec()
Metodi on säännöllinen lausekemetodi.
Se etsii merkkijonosta määritellyn mallin ja palauttaa löydetyn tekstin.
Jos määrittelyä ei löydy, palauttaa null.
Seuraava esimerkki etsii merkkijonosta merkkijonon "e":
Esimerkki
/e/.exec("The best things in life are free!");
Koska merkkijonossa on yksi "e", edellä olevan koodin tulostus on:
e
Täydellinen RegExp-käyttöohje
Täydelliselle käyttöohjeelle käyvät JavaScript RegExp-käyttöohje.
Tämä käyttöohje sisältää kaikkien RegExp-ominaisuuksien ja metodioiden kuvaukset ja esimerkit.
- Edellinen sivu JS-bittisopimukset
- Seuraava sivu JS-laskentajärjestys