Regex中”+“,”*“,”.“在 []以內和以外有什麼區別? 非轉義

來源:互聯網
上載者:User
關鍵字 Regex php
例如:

[\w.]+和[\w.+*?]

這些符號在[]裡面與外面有什麼區別?

回複內容:

例如:

[\w.]+和[\w.+*?]

這些符號在[]裡面與外面有什麼區別?

首先Regex[]裡面的內容代表可選組合的意思,
類似

/[\w.]/.test("a"); // true/[\w.]/.test("."); // true/[\w.]/.test("a."); // true/[\w.]/.test(" "); // false

上面的Regex可選組合中可以匹配一個字元,或者一個點號,但是不能匹配Null 字元;

說說區別:
1..[]裡面的時候,它就是為了匹配.的,在外面的時候它用來匹配任一字元的,見下面這個樣本:

/./.test(" "); //true/[.]/.test(" "); //false

2.*+[]外面被稱為量詞(數量詞的量詞),是表示要匹配的數量的,
*表示任意數量,集合表示是[0, +00);
+表示至少1次,集合表示是[1, +00);
不得不說的是,作為量詞時,*+前面必須跟著匹配含義的Regex(部分);
[]內就表示它本身的意義了,為了匹配*或者+

/[+]/.test("+"); //true/+/.test(""); //Uncaught SyntaxError: Invalid regular expression: /+/: Nothing to repeat(…)/.+/.test("oops"); //true
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.