正則表達(dá)式.*? 正則表達(dá)式中w和w的區(qū)別,為什要用2個(gè)?
正則表達(dá)式中w和w的區(qū)別,為什要用2個(gè)?W表示正則表達(dá)式中的一個(gè)單詞(數(shù)字、字符、下劃線)W是一個(gè)轉(zhuǎn)義符,它表示(分開的)W匹配W(簡(jiǎn)單字符,沒有特殊意義)但一般來說,W不直接用于正則表達(dá)式因?yàn)椴粌H表
正則表達(dá)式中w和w的區(qū)別,為什要用2個(gè)?
W表示正則表達(dá)式中的一個(gè)單詞(數(shù)字、字符、下劃線)
W是一個(gè)轉(zhuǎn)義符,它表示(分開的)W匹配W(簡(jiǎn)單字符,沒有特殊意義)
但一般來說,
W不直接用于正則表達(dá)式
因?yàn)椴粌H表示正則表達(dá)式中的轉(zhuǎn)義符,但也表示一般字符串中的轉(zhuǎn)義
例如,在C#語句中
字符串s=“n”
]n生成表換行符
如果
字符串s=“W”
它將報(bào)告錯(cuò)誤,因?yàn)闆]有轉(zhuǎn)義符w
所以如果用C寫正則表達(dá)式w需要寫成“w”
其他編程語言都是一樣的
當(dāng)然,你也可以這樣寫
正則表達(dá)式中的“或”?
只匹配一個(gè)字符,這沒有區(qū)別。如果有兩個(gè)以上的字符,括號(hào)和括號(hào)的功能是完全不同的。[ABC]只是一個(gè)簡(jiǎn)單的字符類。匹配間隔(a | B | C)中的任何一個(gè)或多個(gè)字符是一個(gè)分組,將返回匹配項(xiàng)。例如:(ABA | ABC | ACA | ACB)等價(jià)于a(B[AC]| C[AB])。要點(diǎn)是這兩個(gè)符號(hào)的用法不同。
正則表達(dá)式中的 *?或 * 是什么意思?
表示1對(duì)多
*表示0對(duì)多?表示0或1
*?然后呢?稱為非貪婪匹配
和*表示盡可能多的匹配?還有*?表示盡可能少的匹配項(xiàng)
任意字符范圍。如果要匹配連續(xù)文本,貪婪匹配會(huì)使中間內(nèi)容盡可能長(zhǎng),即返回第一個(gè)標(biāo)簽的開頭和最后一個(gè)標(biāo)簽的結(jié)尾。
如果它是非貪婪的,則每個(gè)標(biāo)記將作為單獨(dú)的結(jié)果返回。
正則表達(dá)式^和$有什么用?
什么時(shí)候使用,這取決于你自己的需要。一般來說,^在正則表達(dá)式中表示開始,$表示結(jié)束。
這兩個(gè)字符是零寬度字符(它們不是字符,只是位置,類似于a、Z、B、B)。
^D匹配字符串開頭的一個(gè)數(shù)字。
D$匹配字符串末尾的一個(gè)數(shù)字。
/^D/匹配以數(shù)字開頭的字符串,例如:123acb;]/D$/匹配以數(shù)字結(jié)尾的字符串,例如:abc123;]/^D$/匹配以數(shù)字開頭并以數(shù)字結(jié)尾的字符串,例如:123456。