Regex Without Tests is Asking for Trouble - Don't be lazy. It is free with AI!
TL;DR: Use clear and concise regular expressions, and test them thoroughly.
ProblemsRegular expressions are powerful but tricky.
\ If you write a regex without tests, you're asking for unexpected errors.
\ If you write a cryptic regex and skip automated testing, you could miss important cases, causing security issues or user frustration.
Sample Code Wrong public class PasswordValidator { public static boolean isValidPassword(String password) { return password.matches( "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,}$"); // This is a cryptic Regular Expression } } Right import java.util.ArrayList; import java.util.List; public class PasswordValidator { public static ListYou can detect when your regex is uncovered by changing it to fail and running all your tests.
\ If your validation returns "false" without user-friendly explanations, it's a clear sign you need to refactor it and improve the feedback.
TagsAI can generate regular expressions but often fails to provide helpful error messages.
\ Without proper instructions, AI-generated validators may fail to guide users through fixing their inputs.
AI DetectionAI can detect basic regular expression patterns and missing feedback with clear prompting.
\ it might not automatically create detailed test cases or descriptions unless asked specifically.
Try Them!Remember: AI Assistants make lots of mistakes
| Without Proper Instructions | With Specific Instructions | |----|----| | ChatGPT | ChatGPT | | Claude | Claude | | Perplexity | Perplexity | | Copilot | Copilot | | Gemini | Gemini |
ConclusionA regular expression without clear feedback is user-unfriendly and prone to errors.
\ It would help if you described why they failed and wrote thorough tests to ensure your regex works as expected.
Relationshttps://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-ix-7rr33ol?embedable=true
Code Smell 185 - Evil Regular Expressions
DisclaimerCode Smells are my opinion.
CreditsPhoto by rc.xyz NFT gallery on Unsplash
Feedback is the breakfast of champions.
Ken Blanchard
https://hackernoon.com/400-thought-provoking-software-engineering-quotes?embedable=true
This article is part of the CodeSmell Series.
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-i-xqz3evd?embedable=true
\
All Rights Reserved. Copyright , Central Coast Communications, Inc.