python regex to match file name but get None
I have a few files in the folder and I want to find out the content and match its file name. But when I use re.search to achieve my goal I can only get ‘None’. Anyone could help?
import re
xe = r'D:ABCcc123.xml'
re.search('cc*?.xml', xe)
python regex
add a comment |
I have a few files in the folder and I want to find out the content and match its file name. But when I use re.search to achieve my goal I can only get ‘None’. Anyone could help?
import re
xe = r'D:ABCcc123.xml'
re.search('cc*?.xml', xe)
python regex
also, for future reference, you can use something like pythex to test your regular expressions, and python regex documentation for syntax
– robotHamster
Nov 12 '18 at 2:33
add a comment |
I have a few files in the folder and I want to find out the content and match its file name. But when I use re.search to achieve my goal I can only get ‘None’. Anyone could help?
import re
xe = r'D:ABCcc123.xml'
re.search('cc*?.xml', xe)
python regex
I have a few files in the folder and I want to find out the content and match its file name. But when I use re.search to achieve my goal I can only get ‘None’. Anyone could help?
import re
xe = r'D:ABCcc123.xml'
re.search('cc*?.xml', xe)
python regex
python regex
edited Nov 12 '18 at 2:27
coldspeed
131k23137222
131k23137222
asked Nov 12 '18 at 2:22
CHENLUCHENLU
244
244
also, for future reference, you can use something like pythex to test your regular expressions, and python regex documentation for syntax
– robotHamster
Nov 12 '18 at 2:33
add a comment |
also, for future reference, you can use something like pythex to test your regular expressions, and python regex documentation for syntax
– robotHamster
Nov 12 '18 at 2:33
also, for future reference, you can use something like pythex to test your regular expressions, and python regex documentation for syntax
– robotHamster
Nov 12 '18 at 2:33
also, for future reference, you can use something like pythex to test your regular expressions, and python regex documentation for syntax
– robotHamster
Nov 12 '18 at 2:33
add a comment |
2 Answers
2
active
oldest
votes
(Though there is an accepted answer, I don't feel the answer is clear for other people, and there is still room to improve, so I added a new answer here)
The problem is simply OP is using a wrong regex: cc*?.xml
*
means any occurrence of the preceding token (which means c
in your case)*?
is a reluctant match any occurrence..
means any character
Which means what you are trying to do is match a string which is:
- a
c
- followed by any occurrence of c
- followed by any character
- followed by
xml
Example of matching strings are c.xml
ccccccAxml
etc.
What you were trying to do, I believe is
cc.*?.xml
which means matching
cc
.*?
: followed by any occurrence of any character, matching as few as possible.
: followed by a dot (note the difference of.
vs.
)- followed by
xml
add a comment |
How about something like this with a small tweak?
import re
xe = 'D:ABCcc123.xml'
print (re.search('cc.*?.xml', xe).group())
output:
cc123.xml
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53255248%2fpython-regex-to-match-file-name-but-get-none%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
(Though there is an accepted answer, I don't feel the answer is clear for other people, and there is still room to improve, so I added a new answer here)
The problem is simply OP is using a wrong regex: cc*?.xml
*
means any occurrence of the preceding token (which means c
in your case)*?
is a reluctant match any occurrence..
means any character
Which means what you are trying to do is match a string which is:
- a
c
- followed by any occurrence of c
- followed by any character
- followed by
xml
Example of matching strings are c.xml
ccccccAxml
etc.
What you were trying to do, I believe is
cc.*?.xml
which means matching
cc
.*?
: followed by any occurrence of any character, matching as few as possible.
: followed by a dot (note the difference of.
vs.
)- followed by
xml
add a comment |
(Though there is an accepted answer, I don't feel the answer is clear for other people, and there is still room to improve, so I added a new answer here)
The problem is simply OP is using a wrong regex: cc*?.xml
*
means any occurrence of the preceding token (which means c
in your case)*?
is a reluctant match any occurrence..
means any character
Which means what you are trying to do is match a string which is:
- a
c
- followed by any occurrence of c
- followed by any character
- followed by
xml
Example of matching strings are c.xml
ccccccAxml
etc.
What you were trying to do, I believe is
cc.*?.xml
which means matching
cc
.*?
: followed by any occurrence of any character, matching as few as possible.
: followed by a dot (note the difference of.
vs.
)- followed by
xml
add a comment |
(Though there is an accepted answer, I don't feel the answer is clear for other people, and there is still room to improve, so I added a new answer here)
The problem is simply OP is using a wrong regex: cc*?.xml
*
means any occurrence of the preceding token (which means c
in your case)*?
is a reluctant match any occurrence..
means any character
Which means what you are trying to do is match a string which is:
- a
c
- followed by any occurrence of c
- followed by any character
- followed by
xml
Example of matching strings are c.xml
ccccccAxml
etc.
What you were trying to do, I believe is
cc.*?.xml
which means matching
cc
.*?
: followed by any occurrence of any character, matching as few as possible.
: followed by a dot (note the difference of.
vs.
)- followed by
xml
(Though there is an accepted answer, I don't feel the answer is clear for other people, and there is still room to improve, so I added a new answer here)
The problem is simply OP is using a wrong regex: cc*?.xml
*
means any occurrence of the preceding token (which means c
in your case)*?
is a reluctant match any occurrence..
means any character
Which means what you are trying to do is match a string which is:
- a
c
- followed by any occurrence of c
- followed by any character
- followed by
xml
Example of matching strings are c.xml
ccccccAxml
etc.
What you were trying to do, I believe is
cc.*?.xml
which means matching
cc
.*?
: followed by any occurrence of any character, matching as few as possible.
: followed by a dot (note the difference of.
vs.
)- followed by
xml
answered Nov 12 '18 at 3:04
Adrian ShumAdrian Shum
28.7k762107
28.7k762107
add a comment |
add a comment |
How about something like this with a small tweak?
import re
xe = 'D:ABCcc123.xml'
print (re.search('cc.*?.xml', xe).group())
output:
cc123.xml
add a comment |
How about something like this with a small tweak?
import re
xe = 'D:ABCcc123.xml'
print (re.search('cc.*?.xml', xe).group())
output:
cc123.xml
add a comment |
How about something like this with a small tweak?
import re
xe = 'D:ABCcc123.xml'
print (re.search('cc.*?.xml', xe).group())
output:
cc123.xml
How about something like this with a small tweak?
import re
xe = 'D:ABCcc123.xml'
print (re.search('cc.*?.xml', xe).group())
output:
cc123.xml
answered Nov 12 '18 at 2:31
LeKhan9LeKhan9
946112
946112
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53255248%2fpython-regex-to-match-file-name-but-get-none%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
also, for future reference, you can use something like pythex to test your regular expressions, and python regex documentation for syntax
– robotHamster
Nov 12 '18 at 2:33