How to get the first number from span=(2494, 2516) here?












1















I want to cut a text from the point where my regex expression is found to the end of the text. The position may vary, so I need that number as a variable.
The position can already be seen in the result of studentnrRegex.search(text):



>>> studentnrRegex = re.compile(r'(Studentnr = 18dddddddd)')  
>>> start = studentnrRegex.search(text)
>>> start
<_sre.SRE_Match object; span=(2494, 2516), match='Studentnr = 1825010243'>
>>> myText = text[2494:]
>>> myText
'Studentnr = 1825010243nTEXT = blablabla


Can I get the start position as a variable directly from my variable start, in this case 2494?










share|improve this question





























    1















    I want to cut a text from the point where my regex expression is found to the end of the text. The position may vary, so I need that number as a variable.
    The position can already be seen in the result of studentnrRegex.search(text):



    >>> studentnrRegex = re.compile(r'(Studentnr = 18dddddddd)')  
    >>> start = studentnrRegex.search(text)
    >>> start
    <_sre.SRE_Match object; span=(2494, 2516), match='Studentnr = 1825010243'>
    >>> myText = text[2494:]
    >>> myText
    'Studentnr = 1825010243nTEXT = blablabla


    Can I get the start position as a variable directly from my variable start, in this case 2494?










    share|improve this question



























      1












      1








      1








      I want to cut a text from the point where my regex expression is found to the end of the text. The position may vary, so I need that number as a variable.
      The position can already be seen in the result of studentnrRegex.search(text):



      >>> studentnrRegex = re.compile(r'(Studentnr = 18dddddddd)')  
      >>> start = studentnrRegex.search(text)
      >>> start
      <_sre.SRE_Match object; span=(2494, 2516), match='Studentnr = 1825010243'>
      >>> myText = text[2494:]
      >>> myText
      'Studentnr = 1825010243nTEXT = blablabla


      Can I get the start position as a variable directly from my variable start, in this case 2494?










      share|improve this question
















      I want to cut a text from the point where my regex expression is found to the end of the text. The position may vary, so I need that number as a variable.
      The position can already be seen in the result of studentnrRegex.search(text):



      >>> studentnrRegex = re.compile(r'(Studentnr = 18dddddddd)')  
      >>> start = studentnrRegex.search(text)
      >>> start
      <_sre.SRE_Match object; span=(2494, 2516), match='Studentnr = 1825010243'>
      >>> myText = text[2494:]
      >>> myText
      'Studentnr = 1825010243nTEXT = blablabla


      Can I get the start position as a variable directly from my variable start, in this case 2494?







      python






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 24 '18 at 4:42









      Craig

      2,2061819




      2,2061819










      asked Nov 24 '18 at 3:59









      PedroskiPedroski

      1345




      1345
























          1 Answer
          1






          active

          oldest

          votes


















          1














          The match object returned by calling .search() has .start() and .end() methods that return the starting and ending positions of the match.



          studentnrRegex = re.compile(r'(Studentnr = 18dddddddd)')
          m = studentnrRegex.search(text)
          start = m.start()
          print(mytext[start:])


          You can accomplish the same thing with a different regex that matches the student number and everything after it. This will save you the trouble of doing the slice:



          studentnrRegex = re.compile(r'(Studentnr = 18d{8}).*', re.DOTALL)
          m = studentnrRegex.search(text)
          print(m.group())


          The {8} matches 8 repeats of the d and the .* matches all remaining characters until the end of the string (including newlines) as long as the re.DOTALL flag is specified. The full match is group 0, which is the default value for the .group() method of the match object. You can access the student number as m.group(1).






          share|improve this answer


























          • Thanks a lot! I see I have a lot to learn!

            – Pedroski
            Nov 24 '18 at 9:06











          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%2f53455044%2fhow-to-get-the-first-number-from-span-2494-2516-here%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









          1














          The match object returned by calling .search() has .start() and .end() methods that return the starting and ending positions of the match.



          studentnrRegex = re.compile(r'(Studentnr = 18dddddddd)')
          m = studentnrRegex.search(text)
          start = m.start()
          print(mytext[start:])


          You can accomplish the same thing with a different regex that matches the student number and everything after it. This will save you the trouble of doing the slice:



          studentnrRegex = re.compile(r'(Studentnr = 18d{8}).*', re.DOTALL)
          m = studentnrRegex.search(text)
          print(m.group())


          The {8} matches 8 repeats of the d and the .* matches all remaining characters until the end of the string (including newlines) as long as the re.DOTALL flag is specified. The full match is group 0, which is the default value for the .group() method of the match object. You can access the student number as m.group(1).






          share|improve this answer


























          • Thanks a lot! I see I have a lot to learn!

            – Pedroski
            Nov 24 '18 at 9:06
















          1














          The match object returned by calling .search() has .start() and .end() methods that return the starting and ending positions of the match.



          studentnrRegex = re.compile(r'(Studentnr = 18dddddddd)')
          m = studentnrRegex.search(text)
          start = m.start()
          print(mytext[start:])


          You can accomplish the same thing with a different regex that matches the student number and everything after it. This will save you the trouble of doing the slice:



          studentnrRegex = re.compile(r'(Studentnr = 18d{8}).*', re.DOTALL)
          m = studentnrRegex.search(text)
          print(m.group())


          The {8} matches 8 repeats of the d and the .* matches all remaining characters until the end of the string (including newlines) as long as the re.DOTALL flag is specified. The full match is group 0, which is the default value for the .group() method of the match object. You can access the student number as m.group(1).






          share|improve this answer


























          • Thanks a lot! I see I have a lot to learn!

            – Pedroski
            Nov 24 '18 at 9:06














          1












          1








          1







          The match object returned by calling .search() has .start() and .end() methods that return the starting and ending positions of the match.



          studentnrRegex = re.compile(r'(Studentnr = 18dddddddd)')
          m = studentnrRegex.search(text)
          start = m.start()
          print(mytext[start:])


          You can accomplish the same thing with a different regex that matches the student number and everything after it. This will save you the trouble of doing the slice:



          studentnrRegex = re.compile(r'(Studentnr = 18d{8}).*', re.DOTALL)
          m = studentnrRegex.search(text)
          print(m.group())


          The {8} matches 8 repeats of the d and the .* matches all remaining characters until the end of the string (including newlines) as long as the re.DOTALL flag is specified. The full match is group 0, which is the default value for the .group() method of the match object. You can access the student number as m.group(1).






          share|improve this answer















          The match object returned by calling .search() has .start() and .end() methods that return the starting and ending positions of the match.



          studentnrRegex = re.compile(r'(Studentnr = 18dddddddd)')
          m = studentnrRegex.search(text)
          start = m.start()
          print(mytext[start:])


          You can accomplish the same thing with a different regex that matches the student number and everything after it. This will save you the trouble of doing the slice:



          studentnrRegex = re.compile(r'(Studentnr = 18d{8}).*', re.DOTALL)
          m = studentnrRegex.search(text)
          print(m.group())


          The {8} matches 8 repeats of the d and the .* matches all remaining characters until the end of the string (including newlines) as long as the re.DOTALL flag is specified. The full match is group 0, which is the default value for the .group() method of the match object. You can access the student number as m.group(1).







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 27 '18 at 2:51

























          answered Nov 24 '18 at 4:34









          CraigCraig

          2,2061819




          2,2061819













          • Thanks a lot! I see I have a lot to learn!

            – Pedroski
            Nov 24 '18 at 9:06



















          • Thanks a lot! I see I have a lot to learn!

            – Pedroski
            Nov 24 '18 at 9:06

















          Thanks a lot! I see I have a lot to learn!

          – Pedroski
          Nov 24 '18 at 9:06





          Thanks a lot! I see I have a lot to learn!

          – Pedroski
          Nov 24 '18 at 9:06




















          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%2f53455044%2fhow-to-get-the-first-number-from-span-2494-2516-here%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

          Wiesbaden

          Marschland

          Dieringhausen