正则学习小结(1)-基础
生活随笔
收集整理的這篇文章主要介紹了
正则学习小结(1)-基础
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
定義:正則表達式(regular expression)描述了一種字符串匹配的模式(pattern)
- 正則創建方法
1. 直接量語法 => /pattern/attributes 2. 創建 RegExp 對象的語法 => new RegExp(pattern, attributes)
pattern(p?t?n 模式/表達式) 指的是那堆有各種符號組成的
attributes('?tr?,bj?t 屬性/修飾符) 就三個選項 i(ignore case 忽略大小寫|執行對大小寫不敏感的匹配) g(global 執行全局匹配,查找所有匹配而非在找到第一個匹配后停止) m(mutiple允許多行匹配 不太清楚) - 方括號(方括號用于查找某個范圍內的字符,括號內的就是范圍,例如[abc], [a-z], [0-9]) var aa = 'abcdefghigklmnopqrstuvwxyz'var result = {'/[^ade]/g': aa.match(/[^ade]/g), //["b", "c", "f", "g", "h", "i", "g", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]'/[^ade][bcd]/g': aa.match(/[^ade][bcd]/g), //["bc"]'/[^ade]|[bcd]/g': aa.match(/[^ade]|[bcd]/g), //["b", "c", "d", "f", "g", "h", "i", "g", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]'/[^ade]&[bcd]/g': aa.match(/[^ade]&[bcd]/g), //null'/(ab)/g': aa.match(/(ab)/g), //["ab"]'/(ad)/g': aa.match(/(ad)/g), //null'/(ab)./g': aa.match(/(ab)./g), //["abc"]'/(ab).../g': aa.match(/(ab).../g), //["abcde"]'/(ab.).../g': aa.match(/(ab.).../g), //["abcdef"]'/(ab...).../g': aa.match(/(ab...).../g), //["abcdefgh"]'/(a|b|c)/g': aa.match(/(a|b|c)/g), //["a", "b", "c"]'/(a|b|c)./g': aa.match(/(a|b|c)./g), //["ab", "cd"]'/(a|b|c.)./g': aa.match(/(a|b|c.)./g), //["ab", "cde"]'/(a|b.|c.)./g': aa.match(/(a|b.|c.)./g), //["ab", "cde"]'/(a|b.|e.)./g': aa.match(/(a|b.|e.)./g), //["ab", "efg"] };
- 正則創建方法
1. 直接量語法 => /pattern/attributes 2. 創建 RegExp 對象的語法 => new RegExp(pattern, attributes)
pattern(p?t?n 模式/表達式) 指的是那堆有各種符號組成的
attributes('?tr?,bj?t 屬性/修飾符) 就三個選項 i(ignore case 忽略大小寫|執行對大小寫不敏感的匹配) g(global 執行全局匹配,查找所有匹配而非在找到第一個匹配后停止) m(mutiple允許多行匹配 不太清楚) - 方括號(方括號用于查找某個范圍內的字符,括號內的就是范圍,例如[abc], [a-z], [0-9]) var aa = 'abcdefghigklmnopqrstuvwxyz'var result = {'/[^ade]/g': aa.match(/[^ade]/g), //["b", "c", "f", "g", "h", "i", "g", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]'/[^ade][bcd]/g': aa.match(/[^ade][bcd]/g), //["bc"]'/[^ade]|[bcd]/g': aa.match(/[^ade]|[bcd]/g), //["b", "c", "d", "f", "g", "h", "i", "g", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]'/[^ade]&[bcd]/g': aa.match(/[^ade]&[bcd]/g), //null'/(ab)/g': aa.match(/(ab)/g), //["ab"]'/(ad)/g': aa.match(/(ad)/g), //null'/(ab)./g': aa.match(/(ab)./g), //["abc"]'/(ab).../g': aa.match(/(ab).../g), //["abcde"]'/(ab.).../g': aa.match(/(ab.).../g), //["abcdef"]'/(ab...).../g': aa.match(/(ab...).../g), //["abcdefgh"]'/(a|b|c)/g': aa.match(/(a|b|c)/g), //["a", "b", "c"]'/(a|b|c)./g': aa.match(/(a|b|c)./g), //["ab", "cd"]'/(a|b|c.)./g': aa.match(/(a|b|c.)./g), //["ab", "cde"]'/(a|b.|c.)./g': aa.match(/(a|b.|c.)./g), //["ab", "cde"]'/(a|b.|e.)./g': aa.match(/(a|b.|e.)./g), //["ab", "efg"] };
?
script標簽替換
html = html.replace(/<script.*?\/lang\/.*?></ig, matchStr => { let result = matchStr.replace(/\.js.*?\"/ig, `.js?stamp=${stamp}"`); return result; })一、校驗數字的表達式
/^0?0?86\d{11}/g; // 以0086,086,86開頭, 外加11位數字的字符串
轉載于:https://www.cnblogs.com/so-letitgo/p/6007936.html
總結
以上是生活随笔為你收集整理的正则学习小结(1)-基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springmvc中Controller
- 下一篇: 批处理和流处理