2013-06-03 50 views
-2

我是新來的,我想知道從哪裏開始學習正則表達式?
我知道這是一個很大的問題,但我真的很想知道這一點。
非常感謝您提供的鏈接或建設性答案。從哪裏開始學習正則表達式?

+5

Google對此... –

+2

http://regular-expressions.info/ – Spudley

+0

[正則表達式](http://www.regular-expressions.info/tutorial.html),[PHP特定](http ://www.php.net/manual/en/reference.pcre.pattern.syntax.php),[The Hard Way](http://regex.learncodethehardway.org/book/)。 – HamZa

回答

1

你的問題將被關閉,因爲它不是一個真正的問題,但你會發現在互聯網和StackOverflow上的正則表達式(縮寫正則表達式或正則表達式)的很多文檔,但在這裏開始。

以下信息來自Wikipedia ...... http://regexone.com會幫助你學習正則表達式與教訓。


元字符:

。匹配任何單個字符
例如,a.c匹配「abc」等,但[a.c]只匹配「a」,「。」或「c」。

[]匹配包含在括號
例如,[ABC]匹配 「一」, 「B」,或 「c」 中的單個字符。 [a-z]指定與從「a」到「z」的任何小寫字母匹配的範圍。這些形式可以混合使用:[abcx-z]與[a-cx-z]一樣匹配「a」,「b」,「c」,「x」,「y」或「z」。

[^]匹配不包含在括號
例如內的單個字符,[^ ABC]匹配比 「A」 以外的任何字符, 「B」,或 「c」。 [^ a-z]匹配任何不是從「a」到「z」小寫字母的單個字符。

^匹配字符串中的起始位置。在基於行的工具中,它匹配任何行的起始位置。

$匹配字符串的結束位置或恰好在字符串結束換行符之前的位置。在基於行的工具中,它匹配任何行的結束位置。

()定義了一個標記的子表達式。稍後可以調用括號內匹配的字符串(請參閱下一條\ n)。

\ n匹配什麼第n標記的子表達式匹配,其中n是從1至9

一個數字*前述元件零次或多次
例如AB * C相匹配的匹配「AC」, 「ABC」, 「abbbc」 等[XYZ] *匹配 「」, 「X」, 「Y」, 「Z」, 「ZX」, 「ZYX」, 「XYZZY」,依此類推。 (ab)*匹配「」,「ab」,「abab」,「ababab」等。

{M,N}的前一個元素的至少m和不大於n倍
例如,{3,5}只匹配 「AAA」, 「AAAA」,和 「AAAAA」 更匹配。這在正則表達式的一些較舊實例中找不到。 BRE模式需要{m,n}。


例子:

  • .AT匹配任何三個字符與以 「」 結尾,包括 「帽子」, 「貓」 和 「蝙蝠」。
  • [hc] at匹配「hat」和「cat」。
  • [^ b] at匹配所有與.at匹配的字符串,除了「bat」。
  • [^ hc] at匹配除「hat」和「cat」以外的.at匹配的所有字符串。
  • ^[hc] at與「hat」和「cat」匹配,但僅限於字符串或行的開頭。
  • [hc] at $匹配「帽子」和「貓」,但只在字符串或行的末尾。
  • 匹配任何由「[」和「]」包圍的單個字符,因爲方括號已被轉義,例如:「[a]」和「[b]」。
0

所有主流語言都支持與Perl兼容的語法,只有很小的變化,幾乎總是像空白和行尾字符的計數方式。作爲一般規則,您可以在Perl語法中引用任何參考,並在jsfiddle.net中嘗試它。

事實上,我會說從Perl源學習可能會給你最廣泛的可能用途和怪癖,通常適用於各種語言。

相關問題