Closed
Bug 156465
Opened 22 years ago
Closed 22 years ago
Regex incorrectly handles replacement tokens in supplied scenario...
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
VERIFIED
DUPLICATE
of bug 123437
People
(Reporter: drub0y, Assigned: rogerl)
Details
Attachments
(1 file)
932 bytes,
text/html
|
Details |
The following code snippet should provide all the information necessary to reproduce the bug. Please note that I've tried other expressions on empty strings without similar results. ------------------------------------- // A regex to trim strings var objTrimmingRegexp = /^s*(S+(s+S+)*)*s*$/g; // right answer IE4+, NS4.x, NS6.x, Mozilla1.0 window.alert(" hello world! ".replace(objTrimmingRegexp , "\"$1"")); //right answer IE4+, NS4.x, NS6.x // wrong answer Mozilla1.0 window.alert(" ".replace(objTrimmingRegexp, "\"$1""));
Assignee | ||
Comment 1•22 years ago
|
||
The testcase has been snarled by '\' stripping. Should be: var objTrimmingRegexp = /^\s*(\S+(\s+\S+)*)*\s*$/g; and then objTrimmingRegexp.exec(" ") should result in [" ", ] but is [" "] instead. Which is a duplicate of Bug 123437. (which is fixed by the patch in Bug 85721 - maybe I should come up with a separate individual patch for this, Phil?) *** This bug has been marked as a duplicate of 123437 ***
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
Comment 2•22 years ago
|
||
Comment 3•22 years ago
|
||
When I try the above testcase in NN4.7 or IE6, this is what I get: // A regexp to trim strings - re = /^\s*(\S+(\s+\S+)*)*\s*$/g str = " hello world! " (note single spaces on each side) str.replace(re, "\"$1\"") = "hello world!" str = " " (i.e. just a single space) str.replace(re, "\"$1\"") = "" Whereas in Mozilla, the latter case fails: str = " " (i.e. just a single space) str.replace(re, "\"$1\"") = "$1" Drew, is that what you saw, too?
Comment 5•22 years ago
|
||
OK, thanks! I will then verify this as a duplicate of bug 123437, and add the above testcase to that bug -
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•