Comments (8)
I guess those constructors just throw CompileExceptions. It only affects you if you use those constructors - as it should.
from byteseek.
This is essentially a convenience constructor. Either a string is a byte array, or it's a regex. In either case we already have constructors for the outputs (SequenceMatcher or byte array). And the byte array can also be modelled by e a SequenceMatcher.
What gives the best convenience?
from byteseek.
So - SequenceMatcher constructor is the only general constructor for SequenceSearch algorithms.
from byteseek.
Downside of making String constructors for search algorithms process regexes, is it creates a hard dependency on all search algorithms to the byteseek sequence matcher compiler and regex parser.
from byteseek.
Currently, matchers and searchers don't depend on the parser and compiler in any way.
from byteseek.
The only excuse for such a higher level dependency is convenience - which is what this is.
Is the convenience of instantiating hex string (or more complex syntax) searchers directly worth the dependency it creates?
from byteseek.
I don't think a hard dependency between the Searcher and Compiler package will really hurt anything.
It's a general design principle to try to keep them as cleanly separated as possible, but this is a case where we already had a support question raised by a user. They expected (or wanted) to be able to do this.
from byteseek.
I'm going to explore using SequenceMatcher compilers directly in the SequeneSearcher String constructors.
from byteseek.
Related Issues (20)
- Regular expression syntax definition HOT 1
- Performance Issue with small alphabets and long texts HOT 47
- StringReader broken HOT 2
- Bounds checking does not look right HOT 2
- Typo: "first" should be "last" in syntax.md page HOT 7
- Design: should use Java charset names directly in regular expression language? HOT 5
- Prefix syntax for binary HOT 3
- Silent replacement of algorithms or throw an error? HOT 4
- Support mark / reset in InputStreamReader HOT 2
- Support matching integer values or ranges > 8 bits HOT 5
- Returning the match including thr wildcards HOT 7
- Feature - return data matched. HOT 1
- Better documentation
- High level interface needed HOT 1
- Search and match variable length wildcards HOT 1
- Implement SBNDM search
- Implement HashChain search HOT 1
- MutableState has non-mutable initializations resulting in errors on deepCopy calls HOT 2
- SequenceMatcherCompiler fails to compile case insensitive strings.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from byteseek.