📂
LeetCode Note
  • Introduction
  • Tools
    • Clean Code
    • 英文小辭典
    • JS Reference
    • 常見 Edge Case
    • Array Method
    • Object Method
    • Function
    • Hashing
    • Prototype
    • 處理 Array 小撇步
    • String Method
    • Math / Date
    • loop
    • JSON.xx / localStorage
    • Date
    • Regex
    • Memorization
    • reduce condition
    • 命名
  • 筆記 Note
    • Promise
    • Walking the DOM
    • Element size and scrolling
    • CSS
  • Leetcode todo
    • ToDo
  • Array
    • # Select random poker without duplicates
    • # 最少替換達成不連續字串
    • # 724 Find Pivot Index
    • # 747. Largest Number At Least Twice of Others
    • # 01 getMaxProfit
    • # maxOfBiggestVal
    • # findSecondLargest
    • # 41 First Missing Positive
    • # 134 Gas Station (有圖)
    • # 202 Happy Number
    • # 344 Reverse String
    • # 412 Fizz Buzz
    • # 561 Array Partition I
    • # 804 Unique Morse Code Words
    • # 905 Sort Array By Parity
    • # 121. Best Time to Buy and Sell Stock.js
    • # 122 Best Time to Buy and Sell Stock II
    • # 189 Rotate Array
    • # 229 Majority Element II
    • # 268 Missing Number.
    • # 299 Bulls and Cows (有圖)
    • # 896 Monotonic Array
    • # 1002 Find Common Characters
    • # 1051 Height Checker
    • # 1185 Day of the Week
    • # 169 Majority Element
    • # 605. Can Place Flowers
    • # 350 Intersection of Two Arrays II (有圖)
    • # 482. License Key Formatting
  • Set / Map
    • # GetLengthOfLongestSubstring
    • #1 Two Sum
    • # 217 Contains Duplicate
    • # 1122 Relative Sort Array
    • # 1160 Find Words That Can Be Formed by Characters
    • #811 Subdomain Visit Count
    • # 349 Intersection of Two Arrays
    • # 819 Most Common Word
  • Two Pointer
    • #704. Binary Search
    • #26 Remove Duplicates from Sorted Array (有圖)
    • #27 Remove Element
    • # 66 Plus One
    • # 80 Remove Duplicates from Sorted Array II (有圖)
    • # 88 Merge Sorted Array (有圖)
    • # 125 Valid Palindrome
    • #167 Two Sum II - Input array is sorted (有圖)
    • # 283 Move Zeroes (有圖)
    • # 38 Count and Say
    • # 557. Reverse Words in a String III
    • #977 Squares of a Sorted Array
    • #209 Minimum Size Subarray Sum
  • String
    • # 13 Roman to Integer (有圖)
    • # 771 Jewels and Stones
    • # 937 Reorder Data in Log Files
    • # 929 Unique Email Addresses
    • # 1108 Defanging an IP Address
    • #14 Longest Common Prefix
    • # 387 First Unique Character in a String (有圖)
    • #193 Valid Phone Numbers
    • # 28 Implement strStr()
    • #383 Ransom Note
  • Stack
    • # 20 Valid Parentheses (有圖)
    • # 155 Min Stack
    • BF 165. remove characters
    • #1047 Remove All Adjacent Duplicates In String
  • Binary Search
    • # 1064 Fixed Point (有圖)
    • # 852 Peak Index in a Mountain Array
  • Recursion 遞迴
    • #2625. Flatten Deeply Nested Array
  • Math
    • # 7 Reverse Integer
    • # 9 Palindrome Number (有圖)
    • #53 Maximum Subarray (有圖)
    • # 1085 Sum of Digits in the Minimum Number.
    • # 136 Single Number
    • # 204 Count Primes (有圖)
    • #243 Shortest Word Distance
  • Dynamic Programing
    • # 322 Coin Change
    • # 509 Fibonacci Number (有圖)
    • # 70 Climbing Stairs
    • # 198 House Robber
    • # 168. Excel Sheet Column Title
  • Others
    • # 205. Isomorphic Strings
    • Implement js Array method
    • Flatten Array/Object
  • Matrix
    • 867. Transpose Matrix
  • Queue
    • DOM tree with queue
  • 排序
    • Different Sort
Powered by GitBook
On this page

Was this helpful?

  1. Tools

Regex

PreviousDateNextMemorization

Last updated 8 months ago

Was this helpful?

// 以下兩個相同
var re = new RegExp("\\w+", "gi");
var re = /\w+/gi;

/g // global 抓
/i // 代表不區分大小寫都找
  • [abc] → 抓單一個字元: a, b, or c

  • [^abc] → 抓任何單一字元除了 a, b, or c

  • [a-z] → 抓任何小寫a-z之間的字元

  • [a-zA-Z] → 抓任何小寫a-z,大寫A-Z之間字元

  • \d → 任何數字字元

  • \D → 任何不是數字字元

  • \w → 任何字串+底線,其實等於[a-z\dA-Z_]

  • \W → 跟\w相反

  • \s → 空白鍵

  • \S → 任何不是空白鍵字元

  • . → 任何字串

  • \. → .這個符號

  • ^ → 字串開頭位置

  • $ → 字串結尾位置

  • \b → boundary. "one 2sa one".match(/\bone\b/g)

  • (…) → 抓()裡面的字串

  • a|b → a 或 b, 它可以是一串字串

  • \b → 在邊界的字元, ex hello.pdf, h跟p都是邊界字元

  • a? → 抓0個或1個的a , ex 我想抓a跟(a), /(?a/)?

  • a* → 抓0以上的a, ex 抓hello全部, (\w*)

  • a+ → 抓1以上的a

  • a{3} → 抓3個a

  • a{3,} → 抓3個以上a

  • a{3,6} → 抓3-6個之間的a

email: ([\w\-]+@[\w\.]+)

  • [\w\-] → 抓任何單一字元跟- // h,a,n,n,a,h

  • [\w\-]+ → 抓成字串 // hannah

  • ([\w\-]+@[\w\.]+) → 把email整個包起來抓

phone: \(?\d{3}\)?[\s\-]\d{3}[\-\s]\d{4}

  • \d{3} → 3個數字 // 111

  • \(?\d{3}\)? → 3個數字可以被()包起來也可以不要 // 111 or (111)

  • \(?\d{3}\)?[\s\-] → 3個數字後可能會是-或空格隔開 // 111-, 111

  • \(?\d{3}\)?[\s\-]\d{3} → 再接3個數字 // 111-222

  • \(?\d{3}\)?[\s\-]\d{3}[\-\s] → 後面可能會是-或空格隔開 // 111-222-, 111-222

  • \(?\d{3}\)?[\s\-]\d{3}[\-\s]\d{4} → 最後再接4個數字 // 111-222-3333

RegexOne