https://github.com/killtw/lemonade
Sensitive word filter written in Golang.
https://github.com/killtw/lemonade
dfa go golang sensitive-words trie
Last synced: 5 months ago
JSON representation
Sensitive word filter written in Golang.
- Host: GitHub
- URL: https://github.com/killtw/lemonade
- Owner: killtw
- License: mit
- Created: 2019-12-17T05:09:43.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-12-17T09:14:44.000Z (over 6 years ago)
- Last Synced: 2024-06-20T12:06:26.731Z (almost 2 years ago)
- Topics: dfa, go, golang, sensitive-words, trie
- Language: Go
- Size: 19.5 KB
- Stars: 31
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# lemonade
A sensitive word filter service based on [DFA](https://www.wikiwand.com/en/Deterministic_finite_automaton)
## Install
```shell script
go get -u -v github.com/killtw/lemonade
```
## Usage
```go
package main
import (
"fmt"
"github.com/killtw/lemonade/lemonade"
"log"
)
func main() {
if err := lemonade.InitTrie(); err != nil {
log.Fatalln(err)
}
lemonade.Add("test")
f1, m1 := lemonade.Replace("123test321")
fmt.Printf("filtered: %s, matches: %s\n", f1, m1)
f2, m2 := lemonade.Replace("123te!@#$%st321")
fmt.Printf("filtered: %s, matches: %s\n", f2, m2)
}
```
### Output
```shell script
filtered: 123****321, matches: [test]
filtered: 123*********321, matches: [te!@#$%st]
```
## Credits
- [Karl Li](https://github.com/killtw)
- [All Contributors](../../contributors)
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.