国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

sensitive-word v0.13 特性版本發(fā)布 支持英文單詞全詞匹配

這篇具有很好參考價(jià)值的文章主要介紹了sensitive-word v0.13 特性版本發(fā)布 支持英文單詞全詞匹配。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

拓展閱讀

sensitive-word-admin v1.3.0 發(fā)布 如何支持分布式部署?

sensitive-word-admin 敏感詞控臺(tái) v1.2.0 版本開(kāi)源

sensitive-word 基于 DFA 算法實(shí)現(xiàn)的高性能敏感詞工具介紹

更多技術(shù)交流

sensitive-word v0.13 特性版本發(fā)布 支持英文單詞全詞匹配,java

業(yè)務(wù)背景

對(duì)于英文單詞 Disburse 之類(lèi)的,其中的 sb 字母會(huì)被替換,要怎么處理,能不能只有整個(gè)單詞匹配的時(shí)候才替換。

針對(duì)匹配詞進(jìn)一步判斷

說(shuō)明

支持版本:v0.13.0

有時(shí)候我們可能希望對(duì)匹配的敏感詞進(jìn)一步限制,比如雖然我們定義了【av】作為敏感詞,但是不希望【have】被匹配。

就可以自定義實(shí)現(xiàn) wordResultCondition 接口,實(shí)現(xiàn)自己的策略。

系統(tǒng)內(nèi)置的策略在 WordResultConditions#alwaysTrue() 恒為真,WordResultConditions#englishWordMatch() 則要求英文必須全詞匹配。

入門(mén)例子

原始的默認(rèn)情況:

final String text = "I have a nice day。";

List<String> wordList = SensitiveWordBs.newInstance()
        .wordDeny(new IWordDeny() {
            @Override
            public List<String> deny() {
                return Collections.singletonList("av");
            }
        })
        .wordResultCondition(WordResultConditions.alwaysTrue())
        .init()
        .findAll(text);
Assert.assertEquals("[av]", wordList.toString());

我們可以指定為英文必須全詞匹配。

final String text = "I have a nice day。";

List<String> wordList = SensitiveWordBs.newInstance()
        .wordDeny(new IWordDeny() {
            @Override
            public List<String> deny() {
                return Collections.singletonList("av");
            }
        })
        .wordResultCondition(WordResultConditions.englishWordMatch())
        .init()
        .findAll(text);
Assert.assertEquals("[]", wordList.toString());

當(dāng)然可以根據(jù)需要實(shí)現(xiàn)更加復(fù)雜的策略。

如何自定義自己的策略

可以參考 WordResultConditions#englishWordMatch() 實(shí)現(xiàn)類(lèi),只需要繼承 AbstractWordResultCondition 實(shí)現(xiàn)對(duì)應(yīng)的方法即可。

策略的定義

以 englishWordMatch 實(shí)現(xiàn)類(lèi)為例:

package com.github.houbb.sensitive.word.support.resultcondition;

import com.github.houbb.heaven.util.lang.CharUtil;
import com.github.houbb.heaven.util.util.CharsetUtil;
import com.github.houbb.sensitive.word.api.IWordContext;
import com.github.houbb.sensitive.word.api.IWordResult;
import com.github.houbb.sensitive.word.constant.enums.WordValidModeEnum;

/**
 * 英文單詞必須要全詞匹配
 *
 * https://github.com/houbb/sensitive-word/issues/45
 *
 * @since 0.13.0
 */
public class WordResultConditionEnglishWordMatch extends AbstractWordResultCondition {

    @Override
    protected boolean doMatch(IWordResult wordResult, String text, WordValidModeEnum modeEnum, IWordContext context) {
        final int startIndex = wordResult.startIndex();
        final int endIndex = wordResult.endIndex();
        // 判斷當(dāng)前是否為英文單詞
        for(int i = startIndex; i < endIndex; i++) {
            char c = text.charAt(i);
            if(!CharUtil.isEnglish(c)) {
                return true;
            }
        }

        // 判斷處理,判斷前一個(gè)字符是否為英文。如果是,則不滿足
        if(startIndex > 0) {
            char preC = text.charAt(startIndex-1);
            if(CharUtil.isEnglish(preC)) {
                return false;
            }
        }

        // 判斷后一個(gè)字符是否為英文
        if(endIndex < text.length() - 1) {
            char afterC = text.charAt(endIndex+1);
            if(CharUtil.isEnglish(afterC)) {
                return false;
            }
        }

        return true;
    }

}

策略的指定

然后用引導(dǎo)類(lèi)指定我們的策略即可:

List<String> wordList = SensitiveWordBs.newInstance()
        .wordResultCondition(new WordResultConditionEnglishWordMatch())
        .init()
        .findAll(text);

小結(jié)

實(shí)際應(yīng)用的場(chǎng)景會(huì)被預(yù)想的復(fù)雜,所以此處設(shè)計(jì)為接口,內(nèi)置一些常見(jiàn)的實(shí)現(xiàn)策略。

同時(shí)支持用戶自定義拓展。

開(kāi)源代碼

https://github.com/houbb/sensitive-word 本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-828833.html

到了這里,關(guān)于sensitive-word v0.13 特性版本發(fā)布 支持英文單詞全詞匹配的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • LAL v0.35.4發(fā)布,OBS支持RTMP H265推流,我跟了

    Go語(yǔ)言流媒體開(kāi)源項(xiàng)目 LAL 今天發(fā)布了v0.35.4版本。 LAL 項(xiàng)目地址:https://github.com/q191201771/lal 老規(guī)矩,簡(jiǎn)單介紹一下: 新出的標(biāo)準(zhǔn),一般被稱(chēng)為enhanced RTMP,OBS新版(29.1+版本,點(diǎn)我去下載安裝包)已經(jīng)實(shí)現(xiàn)可以使用,LAL也做了相應(yīng)的適配,換言之,你可以使用OBS推送H265的RTMP流給

    2023年04月18日
    瀏覽(20)
  • jetson nx目標(biāo)檢測(cè)環(huán)境配置遇到的一萬(wàn)個(gè)坑,安裝v1.12.0版本的pytorch和v0.13.0版本的vision torchvision,以及使用TensorRT部署YOLOv5.

    jetson nx目標(biāo)檢測(cè)環(huán)境配置遇到的一萬(wàn)個(gè)坑,安裝v1.12.0版本的pytorch和v0.13.0版本的vision torchvision,以及使用TensorRT部署YOLOv5.

    本文參考了許多官網(wǎng)和博客,肯定是存在抄襲的,請(qǐng)各位大哥不要噴我啊。 自己工作找到的是醫(yī)學(xué)信號(hào)方向的算法工程師,所以以后和CV可能無(wú)緣了,將自己一個(gè)多星期的心血?dú)v程發(fā)表出來(lái),希望大家接起我的CV火炬,接著前行,各位加油!(后面也學(xué)習(xí)了yolov5-6.0 yolov7的模型

    2024年02月05日
    瀏覽(25)
  • Kotlin 1.9.0 發(fā)布:帶來(lái)多項(xiàng)新特性,改進(jìn) Multiplatform/Native 支持

    Kotlin 的最新版本引入了許多新的語(yǔ)言特性,包括用于開(kāi)放范圍的…操作符、擴(kuò)展正則表達(dá)式等。此外,它還改進(jìn)了 Kotlin Multiplatform 和 Kotlin/Native 支持。 Kotlin 1.9 穩(wěn)定了與枚舉類(lèi)關(guān)聯(lián)的 entries 屬性,它會(huì)返回所定義的枚舉常量的所有值的列表。entries 棄用了 values(),它不再每次

    2024年02月14日
    瀏覽(19)
  • RabbitMQ3.13.0起支持MQTT5.0協(xié)議及MQTT5.0特性功能列表

    RabbitMQ3.13.0起支持MQTT5.0協(xié)議及MQTT5.0特性功能列表

    RabbitMQ 3.12 中發(fā)布的原生 MQTT 為物聯(lián)網(wǎng)用例提供了顯著的可擴(kuò)展性和性能改進(jìn)。 RabbitMQ 3.13 將支持 MQTT 5.0,因此將成為我們使 RabbitMQ 成為領(lǐng)先的 MQTT 代理之一的下一個(gè)重要步驟。 這篇博文解釋了如何在 RabbitMQ 中使用新的 MQTT 5.0 功能。 MQTT 是物聯(lián)網(wǎng) (IoT) 的標(biāo)準(zhǔn)協(xié)議。 物聯(lián)

    2024年04月13日
    瀏覽(26)
  • MySQL8.1.0版本正式發(fā)布,一起嘗鮮新特性

    MySQL8.1.0版本正式發(fā)布,一起嘗鮮新特性

    ???????????? 哈嘍!大家好,我是【IT邦德】,江湖人稱(chēng)jeames007,10余年DBA工作經(jīng)驗(yàn) 一位上進(jìn)心十足的【大數(shù)據(jù)領(lǐng)域博主】!?????? 中國(guó)DBA聯(lián)盟(ACDU)成員,目前從事DBA及程序編程 擅長(zhǎng)主流數(shù)據(jù)Oracle、MySQL、PG 運(yùn)維開(kāi)發(fā),備份恢復(fù),安裝遷移,性能優(yōu)化、故障應(yīng)急處理等

    2024年02月17日
    瀏覽(21)
  • 【MySQL】MySQL8.1.0版本正式發(fā)布帶來(lái)哪些新特性?

    【MySQL】MySQL8.1.0版本正式發(fā)布帶來(lái)哪些新特性?

    2023年7月18日晚,MySQL官方網(wǎng)站正式發(fā)布了MySQL8.1.0與8.0.34版本. Oracle 每季度發(fā)布一次 MySQL 更新,所以自己也一直留意的官網(wǎng)的動(dòng)態(tài),2023年7月18日晚,MySQL官方網(wǎng)站正式發(fā)布了MySQL8.1.0與8.0.34版本,8.1的應(yīng)該來(lái)說(shuō)是8.0版本的bug修復(fù),這是 MySQL 變更發(fā)版模型后的第一個(gè)創(chuàng)新版本 (

    2024年02月13日
    瀏覽(24)
  • Java 11 新特性與功能:深入了解長(zhǎng)期支持版本的亮點(diǎn)

    Java 11,作為一個(gè)長(zhǎng)期支持版本(LTS),在2018年9月發(fā)布。它引入了許多新特性和,為開(kāi)發(fā)者提供了更多的工具和選項(xiàng)。在本文中,我們將探討 11的主要新特性,以及何在實(shí)際項(xiàng)目中應(yīng)用這些特性。以下是Java 11中值得關(guān)注的新特性和新功能: HTTP 客戶端 API:Java 11引入了一組標(biāo)

    2024年02月06日
    瀏覽(22)
  • openAI發(fā)布v0.2.0了

    openAI發(fā)布v0.2.0了

    時(shí)隔20天,OpenAI從v0.0.1升級(jí)到了v0.2.0。與v0.0.1版相比,v0.2.0版主要做了以下改動(dòng): 把 cmd 目錄下微信公眾號(hào)的相關(guān)服務(wù)遷移到了這里 完善了 cmd 下的測(cè)試服務(wù),針對(duì)openAI庫(kù)里實(shí)現(xiàn)的各個(gè)接口都提供了響應(yīng)的調(diào)用接口,服務(wù)運(yùn)行后可以通過(guò)postman進(jìn)行測(cè)試 完成了Fine-tunes和Moderat

    2024年02月03日
    瀏覽(18)
  • 防火墻軟件版本過(guò)舊:使用的防火墻軟件版本過(guò)舊,無(wú)法支持新的安全特性

    防火墻軟件版本過(guò)舊:使用的防火墻軟件版本過(guò)舊,無(wú)法支持新的安全特性

    隨著網(wǎng)絡(luò)攻擊的日益增多和新型惡意軟件的不斷涌現(xiàn),企業(yè)和個(gè)人用戶越來(lái)越關(guān)注網(wǎng)絡(luò)安全問(wèn)題. 為了保護(hù)系統(tǒng)和數(shù)據(jù)安全, 安裝并維護(hù)一款可靠的防火墻是必要的手段之一. 但許多用戶在遇到以下問(wèn)題時(shí)可能會(huì)感到困惑:為什么我的系統(tǒng)提示說(shuō)需要更新防火牆軟件?有什么辦法

    2024年02月20日
    瀏覽(27)
  • 微軟發(fā)布最新.NET 8長(zhǎng)期支持版本,云計(jì)算、AI應(yīng)用支持再?gòu)?qiáng)化

    微軟發(fā)布最新.NET 8長(zhǎng)期支持版本,云計(jì)算、AI應(yīng)用支持再?gòu)?qiáng)化

    11 月 15 日開(kāi)始的為期三天的 .NET Conf 在線活動(dòng)的開(kāi)幕日上,.NET 8作為微軟的開(kāi)源跨平臺(tái)開(kāi)發(fā)平臺(tái)正式發(fā)布。.NET 團(tuán)隊(duì)著重強(qiáng)調(diào)云、性能、全棧 Blazor、AI 和 .NET MAUI 是.NET 8的主要亮點(diǎn)。.NET團(tuán)隊(duì)在 .NET Conf 2023 [1]活動(dòng)開(kāi)幕式上表示:“通過(guò)這個(gè)版本,.NET 重塑了我們構(gòu)建按需擴(kuò)展的

    2024年02月05日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包