Checking a regex against a string












1















I have a below regex expression,



/A(d{5}[A-Z]{2}[a-zA-Z0-9]{3,7}-TMP|d{5}[A-Z]{2}d{3,7}(-?d{2})*)z/


I am checking against below strings. The first and third should return a match I guess and second a no match. But I am not getting a match on all 3. Is my regex wrong?



99844RI1800001
99806CAAUSJ-TMP1
99844RI1800002









share|improve this question























  • Python re does not support z, it supports Z as equivalent pattern

    – Wiktor Stribiżew
    Nov 13 '18 at 14:24






  • 1





    if not <string>.endswith('-TMP1'): ?

    – Austin
    Nov 13 '18 at 14:25
















1















I have a below regex expression,



/A(d{5}[A-Z]{2}[a-zA-Z0-9]{3,7}-TMP|d{5}[A-Z]{2}d{3,7}(-?d{2})*)z/


I am checking against below strings. The first and third should return a match I guess and second a no match. But I am not getting a match on all 3. Is my regex wrong?



99844RI1800001
99806CAAUSJ-TMP1
99844RI1800002









share|improve this question























  • Python re does not support z, it supports Z as equivalent pattern

    – Wiktor Stribiżew
    Nov 13 '18 at 14:24






  • 1





    if not <string>.endswith('-TMP1'): ?

    – Austin
    Nov 13 '18 at 14:25














1












1








1








I have a below regex expression,



/A(d{5}[A-Z]{2}[a-zA-Z0-9]{3,7}-TMP|d{5}[A-Z]{2}d{3,7}(-?d{2})*)z/


I am checking against below strings. The first and third should return a match I guess and second a no match. But I am not getting a match on all 3. Is my regex wrong?



99844RI1800001
99806CAAUSJ-TMP1
99844RI1800002









share|improve this question














I have a below regex expression,



/A(d{5}[A-Z]{2}[a-zA-Z0-9]{3,7}-TMP|d{5}[A-Z]{2}d{3,7}(-?d{2})*)z/


I am checking against below strings. The first and third should return a match I guess and second a no match. But I am not getting a match on all 3. Is my regex wrong?



99844RI1800001
99806CAAUSJ-TMP1
99844RI1800002






python regex






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 13 '18 at 14:23









themasterthemaster

13714




13714













  • Python re does not support z, it supports Z as equivalent pattern

    – Wiktor Stribiżew
    Nov 13 '18 at 14:24






  • 1





    if not <string>.endswith('-TMP1'): ?

    – Austin
    Nov 13 '18 at 14:25



















  • Python re does not support z, it supports Z as equivalent pattern

    – Wiktor Stribiżew
    Nov 13 '18 at 14:24






  • 1





    if not <string>.endswith('-TMP1'): ?

    – Austin
    Nov 13 '18 at 14:25

















Python re does not support z, it supports Z as equivalent pattern

– Wiktor Stribiżew
Nov 13 '18 at 14:24





Python re does not support z, it supports Z as equivalent pattern

– Wiktor Stribiżew
Nov 13 '18 at 14:24




1




1





if not <string>.endswith('-TMP1'): ?

– Austin
Nov 13 '18 at 14:25





if not <string>.endswith('-TMP1'): ?

– Austin
Nov 13 '18 at 14:25












1 Answer
1






active

oldest

votes


















2














Python re does not support z, it supports Z as equivalent pattern matching the very end of the string. Your pattern requires the literal z char to be there at the end of the pattern.



See Rexegg.com reference:




✽ In Python, the token Z does what z does in other engines: it only matches at the very end of the string.




Thus you may use



A(d{5}[A-Z]{2}[a-zA-Z0-9]{3,7}-TMP|d{5}[A-Z]{2}d{3,7}(-?d{2})*)Z


See the regex demo



Note that starting with Python 3.6 you would even get an exception:



re.error: bad escape z at position 68


See Python re docs:




Changed in version 3.6: Unknown escapes consisting of '' and an ASCII letter now are errors.







share|improve this answer





















  • 1





    Thanks.. was stuck in this for so long :)

    – themaster
    Nov 13 '18 at 14:30











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53283160%2fchecking-a-regex-against-a-string%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














Python re does not support z, it supports Z as equivalent pattern matching the very end of the string. Your pattern requires the literal z char to be there at the end of the pattern.



See Rexegg.com reference:




✽ In Python, the token Z does what z does in other engines: it only matches at the very end of the string.




Thus you may use



A(d{5}[A-Z]{2}[a-zA-Z0-9]{3,7}-TMP|d{5}[A-Z]{2}d{3,7}(-?d{2})*)Z


See the regex demo



Note that starting with Python 3.6 you would even get an exception:



re.error: bad escape z at position 68


See Python re docs:




Changed in version 3.6: Unknown escapes consisting of '' and an ASCII letter now are errors.







share|improve this answer





















  • 1





    Thanks.. was stuck in this for so long :)

    – themaster
    Nov 13 '18 at 14:30
















2














Python re does not support z, it supports Z as equivalent pattern matching the very end of the string. Your pattern requires the literal z char to be there at the end of the pattern.



See Rexegg.com reference:




✽ In Python, the token Z does what z does in other engines: it only matches at the very end of the string.




Thus you may use



A(d{5}[A-Z]{2}[a-zA-Z0-9]{3,7}-TMP|d{5}[A-Z]{2}d{3,7}(-?d{2})*)Z


See the regex demo



Note that starting with Python 3.6 you would even get an exception:



re.error: bad escape z at position 68


See Python re docs:




Changed in version 3.6: Unknown escapes consisting of '' and an ASCII letter now are errors.







share|improve this answer





















  • 1





    Thanks.. was stuck in this for so long :)

    – themaster
    Nov 13 '18 at 14:30














2












2








2







Python re does not support z, it supports Z as equivalent pattern matching the very end of the string. Your pattern requires the literal z char to be there at the end of the pattern.



See Rexegg.com reference:




✽ In Python, the token Z does what z does in other engines: it only matches at the very end of the string.




Thus you may use



A(d{5}[A-Z]{2}[a-zA-Z0-9]{3,7}-TMP|d{5}[A-Z]{2}d{3,7}(-?d{2})*)Z


See the regex demo



Note that starting with Python 3.6 you would even get an exception:



re.error: bad escape z at position 68


See Python re docs:




Changed in version 3.6: Unknown escapes consisting of '' and an ASCII letter now are errors.







share|improve this answer















Python re does not support z, it supports Z as equivalent pattern matching the very end of the string. Your pattern requires the literal z char to be there at the end of the pattern.



See Rexegg.com reference:




✽ In Python, the token Z does what z does in other engines: it only matches at the very end of the string.




Thus you may use



A(d{5}[A-Z]{2}[a-zA-Z0-9]{3,7}-TMP|d{5}[A-Z]{2}d{3,7}(-?d{2})*)Z


See the regex demo



Note that starting with Python 3.6 you would even get an exception:



re.error: bad escape z at position 68


See Python re docs:




Changed in version 3.6: Unknown escapes consisting of '' and an ASCII letter now are errors.








share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 13 '18 at 14:31

























answered Nov 13 '18 at 14:25









Wiktor StribiżewWiktor Stribiżew

311k16131207




311k16131207








  • 1





    Thanks.. was stuck in this for so long :)

    – themaster
    Nov 13 '18 at 14:30














  • 1





    Thanks.. was stuck in this for so long :)

    – themaster
    Nov 13 '18 at 14:30








1




1





Thanks.. was stuck in this for so long :)

– themaster
Nov 13 '18 at 14:30





Thanks.. was stuck in this for so long :)

– themaster
Nov 13 '18 at 14:30


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53283160%2fchecking-a-regex-against-a-string%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Xamarin.iOS Cant Deploy on Iphone

Glorious Revolution

Dulmage-Mendelsohn matrix decomposition in Python