習(xí)得屠龍術(shù)---正則表達(dá)式

一般長這樣

^[0-9]+abc$

使用:

var str = "123abc";
var patt1 = /^[0-9]+abc$/;
document.write(str.match(patt1));

^ 為匹配輸入字符串的開始位置妓布。
$ 為匹配輸入字符串的結(jié)束位置十拣。

一個字符串其實(shí)就是一個簡單的正則表達(dá)式祭饭,例如 Hello World 正則表達(dá)式匹配 "Hello World" 字符串图毕。

實(shí)例

a\s+
a后面可以匹配多個空格
\d+
匹配>=1個數(shù)字
()?
設(shè)置括號內(nèi)的選項(xiàng)是可選的
\.
匹配“.”
^\d+(.\d+)?
可以匹配的實(shí)例:"5", "1.5" 和 "2.21"
.*
任何東西
*
>=0個
+
>=1個
?
0或者1個
注意
當(dāng)惫皱?緊隨(*像樊、+、?旅敷、{n}生棍、{n,}、{n,m})之后時
匹配模式是"非貪心的"(盡可能短的字符串)
"貪心的"模式(盡可能長的字符串)
例如媳谁,在字符串"oooo"中涂滴,"o+?"只匹配單個"o"友酱,而"o+"匹配所有"o"。
{n}
n 是非負(fù)整數(shù)氢妈。=n個
{n,}
n 是非負(fù)整數(shù)粹污。n<= 個
{n,m}
M 和 n 是非負(fù)整數(shù),其中 n <= m首量。n<=個數(shù)<=m
注意:不能將空格插入逗號和數(shù)字之間壮吩。
x|y
匹配x或者y
[xyz]
匹配包含的任一字符
例如,"[abc]"匹配"plain"中的"a"加缘。
[^xyz]
匹配未包含的任何字符
例如鸭叙,"[^abc]"匹配"plain"中"p","l"拣宏,"i"沈贝,"n"。
[a-z]
匹配a-z之間的內(nèi)的任何字符
[^a-z]
匹配不在a-z的任何字符
\b
匹配一個字邊界勋乾,即字與空格間的位置
例如宋下,"er\b"匹配"never"中的"er",但不匹配"verb"中的"er"
\B
非字邊界匹配
"er\B"匹配"verb"中的"er"辑莫,但不匹配"never"中的"er"
\d
[0-9]
\D
不是[0-9]
\w
匹配任何字類字符学歧,包括下劃線。與"[A-Za-z0-9_]"等效
\W
上面取反

捕獲組

public class RegexMatches
{
    public static void main( String args[] ){
 
      // 按指定模式在字符串查找
      String line = "This order was placed for QT3000! OK?";
      String pattern = "(\\D*)(\\d+)(.*)";
 
      // 創(chuàng)建 Pattern 對象
      Pattern r = Pattern.compile(pattern);
 
      // 現(xiàn)在創(chuàng)建 matcher 對象
      Matcher m = r.matcher(line);
      if (m.find( )) {
         System.out.println("Found value: " + m.group(0) );//整個表達(dá)式
         System.out.println("Found value: " + m.group(1) );
         System.out.println("Found value: " + m.group(2) );
         System.out.println("Found value: " + m.group(3) ); 
      } else {
         System.out.println("NO MATCH");
      }
   }
}

得到的結(jié)果

Found value: This order was placed for QT3000! OK?
Found value: This order was placed for QT
Found value: 3000
Found value: ! OK?

特殊

在 Java 中各吨,\ 表示:我要插入一個正則表達(dá)式的反斜線枝笨,所以其后的字符具有特殊的意義。
在 Java 中揭蜒,\ 表示:我要插入一個正則表達(dá)式的反斜線横浑,所以其后的字符具有特殊的意義。
在正則表達(dá)式中屉更,兩個 \ 代表其他語言中的一個 \徙融,
一位數(shù)字的正則表達(dá)式是 \d,一個普通的反斜杠是 \\瑰谜。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末张咳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子似舵,更是在濱河造成了極大的恐慌,老刑警劉巖葱峡,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砚哗,死亡現(xiàn)場離奇詭異,居然都是意外死亡砰奕,警方通過查閱死者的電腦和手機(jī)蛛芥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門提鸟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人仅淑,你說我怎么就攤上這事称勋。” “怎么了涯竟?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵赡鲜,是天一觀的道長。 經(jīng)常有香客問我庐船,道長银酬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任筐钟,我火速辦了婚禮揩瞪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘篓冲。我一直安慰自己李破,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布壹将。 她就那樣靜靜地躺著嗤攻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瞭恰。 梳的紋絲不亂的頭發(fā)上屯曹,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機(jī)與錄音惊畏,去河邊找鬼恶耽。 笑死,一個胖子當(dāng)著我的面吹牛颜启,可吹牛的內(nèi)容都是我干的偷俭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缰盏,長吁一口氣:“原來是場噩夢啊……” “哼草添!你這毒婦竟也來了囚痴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎郑原,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澡腾,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凯亮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了须尚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崖堤。...
    茶點(diǎn)故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡侍咱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出密幔,到底是詐尸還是另有隱情楔脯,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布胯甩,位于F島的核電站昧廷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蜡豹。R本人自食惡果不足惜麸粮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望镜廉。 院中可真熱鬧弄诲,春花似錦、人聲如沸娇唯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽塔插。三九已至梗摇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間想许,已是汗流浹背伶授。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留流纹,地道東北人糜烹。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像漱凝,于是被迫代替她去往敵國和親疮蹦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容