KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am new to Java Regular expression. We are using a pattern for matching a string. We are using this for validating a text field and it meets our requirements. But there is a performance issue in the matching. Pattern : ([a-zA-Z0-9]+[ ]?(([_\-][a-zA-Z0-9 ])*)?[_\-]?)+ Input text should start with a-zA-Z0-9. Space(single) is allowed between words "_" and "-" are allowed but cannot be consecutive. Our problem is, for certain input strings the CPU time goes high and causes hanging the threads. Also we get exceptions. Can anyone please help me to optimize the Pattern or suggest a new pattern to solve my issue. Exception details ============================================ Hung thread details, all the same: [9/28/11 11:40:07:320 CDT] 00000003 ThreadMonitor W WSVR0605W: Thread "WebContainer : 26" (0000004f) has been active for 709755 mi lliseconds and may be hung. There is/are 1 thread(s) in total in the server that may be hung. at java.util.regex.Pattern$GroupCurly.match(Pattern.java:3938) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4180) at java.util.regex.Pattern$Branch.match(Pattern.java:4124) at java.util.regex.Pattern$Ques.match(Pattern.java:3703) at java.util.regex.Pattern$Curly.match0(Pattern.java:3801) at java.util.regex.Pattern$Curly.match(Pattern.java:3756) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4180) at java.util.regex.Pattern$Loop.match(Pattern.java:4307) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4239) at java.util.regex.Pattern$Ques.match(Pattern.java:3703) at java.util.regex.Pattern$BranchConn.match(Pattern.java:4090) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4239) at java.util.regex.Pattern$GroupCurly.match0(Pattern.java:4006) at java.util.regex.
Tags (comma-separated)
Save Edits
Cancel