I need to match any latin word NOT containing "abc" using basic regex operations (without syntactic sugar or look-ahead like (?!...)): only +, *, |. Solution for "ab" would be quite trivial, but adding 'c' made me lost in thoughts. Appreciate any help.
2026-03-25 04:43:58.1774413838
Regular expressions match not "abc"
219 Views Asked by Bumbble Comm https://math.techqa.club/user/bumbble-comm/detail At
1
There are 1 best solutions below
Related Questions in FORMAL-LANGUAGES
- Simultaneously multiple copies of each of a set of substrings of a string.
- Do these special substring sets form a matroid?
- Exitstance of DPA of L = $\{ww^r\}$
- Automata defined by group presentations.
- Constructing context free grammar with a number constraint to one of the elements in the language
- Converting CFG to a regular expression
- CSG for the language $\{a^{n^2}|n>0\}$
- If true, prove (01+0)*0 = 0(10+0)*, else provide a counter example.
- Proof of "Extension" for Rice's Theorem
- Prove that this sentence is a tautology.
Related Questions in REGULAR-EXPRESSIONS
- Constructing context free grammar with a number constraint to one of the elements in the language
- Converting CFG to a regular expression
- Formally expressing regular expression
- Regular expression: At least two a's and doesn't end in bb
- Prove that $B = B ^+$ iff $BB \subseteq B$
- Prove a language is not regular. Use pumping lemma.
- The two regular expressions abc and abc(φ)* are equivalent. (T/F)
- Find an automaton that recognizes this language
- Find language generated by a regular grammar
- Regular expression for roman numerals
Trending Questions
- Induction on the number of equations
- How to convince a math teacher of this simple and obvious fact?
- Find $E[XY|Y+Z=1 ]$
- Refuting the Anti-Cantor Cranks
- What are imaginary numbers?
- Determine the adjoint of $\tilde Q(x)$ for $\tilde Q(x)u:=(Qu)(x)$ where $Q:U→L^2(Ω,ℝ^d$ is a Hilbert-Schmidt operator and $U$ is a Hilbert space
- Why does this innovative method of subtraction from a third grader always work?
- How do we know that the number $1$ is not equal to the number $-1$?
- What are the Implications of having VΩ as a model for a theory?
- Defining a Galois Field based on primitive element versus polynomial?
- Can't find the relationship between two columns of numbers. Please Help
- Is computer science a branch of mathematics?
- Is there a bijection of $\mathbb{R}^n$ with itself such that the forward map is connected but the inverse is not?
- Identification of a quadrilateral as a trapezoid, rectangle, or square
- Generator of inertia group in function field extension
Popular # Hahtags
second-order-logic
numerical-methods
puzzle
logic
probability
number-theory
winding-number
real-analysis
integration
calculus
complex-analysis
sequences-and-series
proof-writing
set-theory
functions
homotopy-theory
elementary-number-theory
ordinary-differential-equations
circles
derivatives
game-theory
definite-integrals
elementary-set-theory
limits
multivariable-calculus
geometry
algebraic-number-theory
proof-verification
partial-derivative
algebra-precalculus
Popular Questions
- What is the integral of 1/x?
- How many squares actually ARE in this picture? Is this a trick question with no right answer?
- Is a matrix multiplied with its transpose something special?
- What is the difference between independent and mutually exclusive events?
- Visually stunning math concepts which are easy to explain
- taylor series of $\ln(1+x)$?
- How to tell if a set of vectors spans a space?
- Calculus question taking derivative to find horizontal tangent line
- How to determine if a function is one-to-one?
- Determine if vectors are linearly independent
- What does it mean to have a determinant equal to zero?
- Is this Batman equation for real?
- How to find perpendicular vector to another vector?
- How to find mean and median from histogram
- How many sides does a circle have?
This is one (of many) cases where it is easier to start with the DFA and create the regular expression afterwards. DFAs are sometimes radically more compact than regular expressions; in this case, you only need one state per position in the string to be excluded.
In cases where the string to be excluded has the property that the first character does not appear again in the string, the solution is fairly straight-forward. The DFA can be drawn by following the following pattern:
The regular expression can then be recovered using any standard algorithm for creating regular expressions from state machines.
Note that this regular expression is essentially the same as the epsilon-closure of the machine implicitly built by the Knuth-Morris-Pratt search algorithm with the difference is that KMP is seeking to find the string, whereas here we are seeking to fail if the string is found. (Consequently, all of the states in the machine above are accepting states. I didn't draw the failure state, which would result from a
ctransition from state 3; that would be the KMP success state.)So if there is a suffix of the string you need to exclude which overlaps a prefix, you can use the KMP algorithm; otherwise, it's just a simple linear DFA where transitions move left-to-right along the target string and a match of the first character from any state leads to state 2 while any other non-match leads to state 1.
The regex conversion is tedious, and I might have gotten it wrong. I find the easiest approach is usually to delete states one at a time, collapsing transitions through the deleted state into regex transitions. (See this http://cs.stackexchange answer for a better explanation. If I did it right, one regex for the above state diagram is