亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

javascript 正則的一些使用場(chǎng)景——敏感詞過(guò)濾

kun_jian / 2788人閱讀

摘要:正則不是必須的,任何東西我們都可以不用正則用其他方式實(shí)現(xiàn)。正則中的轉(zhuǎn)義尋找第一個(gè)出現(xiàn)的數(shù)字正則中的轉(zhuǎn)義代表數(shù)字索引數(shù)字出現(xiàn)在索引的位置只能找到字母出現(xiàn)的索引位置。所以我們就需要寫(xiě)一個(gè)過(guò)濾標(biāo)簽的方法。點(diǎn)代表任意字符,在正則里勁量不要用。

寫(xiě)一個(gè)最簡(jiǎn)單的正則
// var re=new RegExp("a");//js風(fēng)格
var re=/a/;//perl風(fēng)格,古老語(yǔ)言現(xiàn)在沒(méi)人用了
// var re2=new RegExp("o");
var re2=/o/;
var str="hello world!";
console.log(str.search(re));//-1
console.log(str.search(re2));//4
用i寫(xiě)一個(gè)忽略大小寫(xiě)的正則
// var re=new RegExp("h","i");//用i忽略大小寫(xiě)i===ignore
var re=/h/i;
var str="Hello world!";
console.log(str.search(re));//0,上面忽略h大小寫(xiě),可以找到第0個(gè)元素

像上面這種找個(gè)o找個(gè)h,不用正則也一樣簡(jiǎn)單。正則不是必須的,任何東西我們都可以不用正則用其他方式實(shí)現(xiàn)。
下面我們做一些利用正則可以更簡(jiǎn)單的實(shí)現(xiàn)的功能。

正則中的轉(zhuǎn)義d尋找第一個(gè)出現(xiàn)的數(shù)字
// 正則中的轉(zhuǎn)義  d 代表數(shù)字
var str="abc 55 fgdf56 56";
var re=/d/;
console.log(str.search(re));//索引4 數(shù)字5出現(xiàn)在索引4的位置

search只能找到字母出現(xiàn)的索引位置。match把所有匹配的東西,全部提取出來(lái)

用g寫(xiě)一個(gè)獲取全部符合要求的正則,利用match把所有匹配的內(nèi)容展示出來(lái)
var str="asdf 66 5649 sdf546";
// 找到第一個(gè)數(shù)字
var re=/d/;
console.log(str.match(re));//["6", index: 5, input: "asdf 66 5649 sdf546", groups: undefined]
// g找到全部的數(shù)字g===global代表找到全部
var re2=/d/g;//一個(gè)d表示要一個(gè)數(shù)字
console.log(str.match(re2));//["6", "6", "5", "6", "4", "9", "5", "4", "6"]
用+標(biāo)識(shí)獲取若干個(gè),下面例子中是若干個(gè)數(shù)字

+量詞,代表若干(多少都可以)

// +量詞,代表若干(多少都可以)
var str="asdf 66 5649 sdf546";
var re3=/d+/g;//一個(gè)d表示要一個(gè)數(shù)字,加上+代表要若干數(shù)字
console.log(str.match(re3));//["66", "5649", "546"]
敏感詞過(guò)濾



  敏感詞過(guò)濾


  

  

.代表任意字符
var str="asdf 66 5649 sdf546 +-*/.";
var re=/./g;
console.log(str.match(re));//?["a", "s", "d", "f", " ", "6", "6", " ", "5", "6", "4", "9", " ", "s", "d", "f", "5", "4", "6", " ", "+", "-", "*", "/", "."]
元字符或者叫方括號(hào)[]

[]代表或里面內(nèi)容任選一個(gè)都行。

1、任意字符
[abc]pc
代表apc bpc cpc都符合要求,如果寫(xiě)成其他形式就不符合要求。

var str="apc bpc cpc dpc epc fpc";
var re=/[abc]pc/g;//g代表全部符合要求的
console.log(str.match(re));//["apc", "bpc", "cpc"]

2、范圍

// 找出a-z的字母和0-9的數(shù)字
var str="asdf 66 5649 sdf546";
var re2=/[a-z]/g;
console.log(str.match(re2));//["a", "s", "d", "f", "s", "d", "f"]
var re=/[0-9]/g;//找出所有0-9的數(shù)字
console.log(str.match(re));//["6", "6", "5", "6", "4", "9", "5", "4", "6"]

3、排除

// 排除a-z
var str="asdf 66 5649 sdf546 +-*/.";
var re=/[^a-z]/g;
console.log(str.match(re));//[" ", "6", "6", " ", "5", "6", "4", "9", " ", "5", "4", "6", " ", "+", "-", "*", "/", "."]
// 排除a-z和0-9
var str="asdf 66 5649 sdf546 +-*/.";
var re=/[^a-z0-9]/g;
console.log(str.match(re));//[" ", " ", " ", " ", "+", "-", "*", "/", "."]

像小說(shuō)網(wǎng)站,我們不可能一部一部小說(shuō)錄進(jìn)去,我們把別人網(wǎng)站的小說(shuō)扒過(guò)來(lái)。
一般采集的小說(shuō)都會(huì)包含html標(biāo)簽,這時(shí)候我們就需要把小說(shuō)變成純文本的。所以我們就需要寫(xiě)一個(gè)過(guò)濾html標(biāo)簽的方法。

過(guò)濾html標(biāo)簽的、模擬采集器處理成文本


  
    
    過(guò)濾html標(biāo)簽?zāi)M采集器處理成文本
    
  
  
    

正則中的轉(zhuǎn)義

d 代表數(shù)字。就是[0-9]
w 代表英文、數(shù)字、下劃線(xiàn)。就是[a-z0-9_]
s 代表空白字符,包括空格、tab等不可打印的字符
D 代表除了0-9意外的東西。就是1
W 代表除了a-z,0-9和下劃線(xiàn)意外的東西。就是2
S 代表非空白字符。
. 點(diǎn)代表任意字符,在正則里勁量不要用。

量詞——代表個(gè)數(shù)

{n} 代表正好出現(xiàn)n次——寫(xiě)一個(gè)正則標(biāo)識(shí)8位的固定電話(huà)號(hào)碼/[1-9]d{7}/ ——第一位1-9后面7位是數(shù)字。

{n,m} 代表最少出現(xiàn)n次,最多出現(xiàn)m次——比如寫(xiě)個(gè)qq號(hào)(5-11位)——

/[1-9]d{4,10}/ 第一位1-9,后面是4位到10位的數(shù)字

{n,} 代表最少n次最多不限。

+==={1,}標(biāo)識(shí)最少出現(xiàn)一次,最多不限

?==={0,1} 代表最少0次最多1次——固定電話(huà)的區(qū)號(hào)可以出現(xiàn)也可以不出現(xiàn)——/(0d{2-3}-)?[1-9]d{7}(-d{1,5})?/代表第一位是0然后后面是2到3位數(shù)字,然后書(shū)面是-,?標(biāo)識(shí)前面可有可無(wú),后面部分代表分機(jī)號(hào)。

*==={0,} 代表最少0個(gè)最多不限,可以沒(méi)有也可以有很多位。不常用。

  • 0-9 ?

  • a-z0-9_ ?

  • 文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/97114.html

    相關(guān)文章

    • 敏感檢測(cè)算法小結(jié)

      摘要:序本文簡(jiǎn)單介紹下敏感詞或者臟詞檢測(cè)算法。經(jīng)典算法經(jīng)典的算法由三部分構(gòu)成,表,表和表,共包含四種具體的算法,分別是計(jì)算三張查找表的算法以及算法本身。表是由模式集合中的所有模式構(gòu)成的狀態(tài)轉(zhuǎn)移自動(dòng)機(jī)。 序 本文簡(jiǎn)單介紹下敏感詞或者臟詞檢測(cè)算法。 經(jīng)典AC算法 經(jīng)典的AC算法由三部分構(gòu)成,goto表,fail表和output表,共包含四種具體的算法,分別是計(jì)算三張查找表的算法以及AC算法本身。...

      劉厚水 評(píng)論0 收藏0
    • JS基礎(chǔ)入門(mén)篇(三十三)—正則表達(dá)式

      摘要:舉例一使用這個(gè)正則,打印結(jié)果為使用這個(gè)正則,打印結(jié)果為舉例二打印結(jié)果如下過(guò)濾標(biāo)簽?zāi)愫妹利惖纳虾O朕D(zhuǎn)化成你好,美麗的上海如果后面加,就會(huì)進(jìn)入非貪婪模式。如果后面不加,就會(huì)進(jìn)入貪婪模式,結(jié)果為上海。你好美麗的上海。 1.創(chuàng)建一個(gè)正則表達(dá)式 方法一:使用一個(gè)正則表達(dá)式字面量,其由包含在斜杠之間的模式組成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:調(diào)用Re...

      caspar 評(píng)論0 收藏0
    • JS基礎(chǔ)入門(mén)篇(三十三)—正則表達(dá)式

      摘要:舉例一使用這個(gè)正則,打印結(jié)果為使用這個(gè)正則,打印結(jié)果為舉例二打印結(jié)果如下過(guò)濾標(biāo)簽?zāi)愫妹利惖纳虾O朕D(zhuǎn)化成你好,美麗的上海如果后面加,就會(huì)進(jìn)入非貪婪模式。如果后面不加,就會(huì)進(jìn)入貪婪模式,結(jié)果為上海。你好美麗的上海。 1.創(chuàng)建一個(gè)正則表達(dá)式 方法一:使用一個(gè)正則表達(dá)式字面量,其由包含在斜杠之間的模式組成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:調(diào)用Re...

      hot_pot_Leo 評(píng)論0 收藏0
    • JS基礎(chǔ)入門(mén)篇(三十三)—正則表達(dá)式

      摘要:舉例一使用這個(gè)正則,打印結(jié)果為使用這個(gè)正則,打印結(jié)果為舉例二打印結(jié)果如下過(guò)濾標(biāo)簽?zāi)愫妹利惖纳虾O朕D(zhuǎn)化成你好,美麗的上海如果后面加,就會(huì)進(jìn)入非貪婪模式。如果后面不加,就會(huì)進(jìn)入貪婪模式,結(jié)果為上海。你好美麗的上海。 1.創(chuàng)建一個(gè)正則表達(dá)式 方法一:使用一個(gè)正則表達(dá)式字面量,其由包含在斜杠之間的模式組成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:調(diào)用Re...

      y1chuan 評(píng)論0 收藏0
    • Spring Boot項(xiàng)目實(shí)踐之問(wèn)答社區(qū)

      摘要:異步事件處理本項(xiàng)目涉及到多種異步事件的處理。即是的粉絲,是的關(guān)注對(duì)象。模式定義優(yōu)缺點(diǎn)推事件觸發(fā)后廣播給所有粉絲。具體來(lái)說(shuō),推模式就是事件觸發(fā)后產(chǎn)生,觸發(fā)事件的用戶(hù)下所有粉絲的實(shí)現(xiàn)中都存入該的。 項(xiàng)目源代碼已托管在 Github,歡迎 Star、Fork。 Q & A 問(wèn)答社區(qū) QA 是一個(gè)基于 B/S 架構(gòu)而設(shè)計(jì)開(kāi)發(fā)的社區(qū)網(wǎng)站。 showImg(https://segmentfault...

      binaryTree 評(píng)論0 收藏0

    發(fā)表評(píng)論

    0條評(píng)論

    最新活動(dòng)
    閱讀需要支付1元查看
    <