parsing regex - (Not enough )'s
I made a tiny database with books and trying to get titles, authors and year of book with regex in c# but error occured.
Database looks like this:
Eragon // Christopher Paolini // 2005
The Fellowship of the Ring // J. R. R. Tolkien // 1954
And code:
Regex r = new Regex(@"(?<title>(.*)//" +
@"(?<author>(.*)//" +
@"(?<year>(.*)$");
Error:
parsing "(?<tytul>(.*)//(?<autor>(.*)//(?<rok>(.*)$" - Not enough )'s.
c# regex
add a comment |
I made a tiny database with books and trying to get titles, authors and year of book with regex in c# but error occured.
Database looks like this:
Eragon // Christopher Paolini // 2005
The Fellowship of the Ring // J. R. R. Tolkien // 1954
And code:
Regex r = new Regex(@"(?<title>(.*)//" +
@"(?<author>(.*)//" +
@"(?<year>(.*)$");
Error:
parsing "(?<tytul>(.*)//(?<autor>(.*)//(?<rok>(.*)$" - Not enough )'s.
c# regex
That's a pretty clear error message - you have unmatched parens. You open six groups, and only close 3.
– Preston Guillot
Feb 8 '15 at 2:21
Go to this site (regexr.com) and test out your regex...
– Marko
Feb 8 '15 at 2:28
add a comment |
I made a tiny database with books and trying to get titles, authors and year of book with regex in c# but error occured.
Database looks like this:
Eragon // Christopher Paolini // 2005
The Fellowship of the Ring // J. R. R. Tolkien // 1954
And code:
Regex r = new Regex(@"(?<title>(.*)//" +
@"(?<author>(.*)//" +
@"(?<year>(.*)$");
Error:
parsing "(?<tytul>(.*)//(?<autor>(.*)//(?<rok>(.*)$" - Not enough )'s.
c# regex
I made a tiny database with books and trying to get titles, authors and year of book with regex in c# but error occured.
Database looks like this:
Eragon // Christopher Paolini // 2005
The Fellowship of the Ring // J. R. R. Tolkien // 1954
And code:
Regex r = new Regex(@"(?<title>(.*)//" +
@"(?<author>(.*)//" +
@"(?<year>(.*)$");
Error:
parsing "(?<tytul>(.*)//(?<autor>(.*)//(?<rok>(.*)$" - Not enough )'s.
c# regex
c# regex
edited Feb 8 '15 at 2:18
Avinash Raj
142k13113160
142k13113160
asked Feb 8 '15 at 2:18
Dziki Arbuz
2113
2113
That's a pretty clear error message - you have unmatched parens. You open six groups, and only close 3.
– Preston Guillot
Feb 8 '15 at 2:21
Go to this site (regexr.com) and test out your regex...
– Marko
Feb 8 '15 at 2:28
add a comment |
That's a pretty clear error message - you have unmatched parens. You open six groups, and only close 3.
– Preston Guillot
Feb 8 '15 at 2:21
Go to this site (regexr.com) and test out your regex...
– Marko
Feb 8 '15 at 2:28
That's a pretty clear error message - you have unmatched parens. You open six groups, and only close 3.
– Preston Guillot
Feb 8 '15 at 2:21
That's a pretty clear error message - you have unmatched parens. You open six groups, and only close 3.
– Preston Guillot
Feb 8 '15 at 2:21
Go to this site (regexr.com) and test out your regex...
– Marko
Feb 8 '15 at 2:28
Go to this site (regexr.com) and test out your regex...
– Marko
Feb 8 '15 at 2:28
add a comment |
1 Answer
1
active
oldest
votes
You forget to close all the named capturing groups.
@"(?<tytul>(.*))//(?<autor>(.*))//(?<rok>(.*))$"
^ ^ ^
DEMO
By turning the greedy quantifiers .* at the first to non-greedy .*? would avoid backtracking.
@"^(?<tytul>(.*?))//(?<autor>(.*?))//(?<rok>(.*))$"
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%2f28389861%2fparsing-regex-not-enough-s%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
You forget to close all the named capturing groups.
@"(?<tytul>(.*))//(?<autor>(.*))//(?<rok>(.*))$"
^ ^ ^
DEMO
By turning the greedy quantifiers .* at the first to non-greedy .*? would avoid backtracking.
@"^(?<tytul>(.*?))//(?<autor>(.*?))//(?<rok>(.*))$"
add a comment |
You forget to close all the named capturing groups.
@"(?<tytul>(.*))//(?<autor>(.*))//(?<rok>(.*))$"
^ ^ ^
DEMO
By turning the greedy quantifiers .* at the first to non-greedy .*? would avoid backtracking.
@"^(?<tytul>(.*?))//(?<autor>(.*?))//(?<rok>(.*))$"
add a comment |
You forget to close all the named capturing groups.
@"(?<tytul>(.*))//(?<autor>(.*))//(?<rok>(.*))$"
^ ^ ^
DEMO
By turning the greedy quantifiers .* at the first to non-greedy .*? would avoid backtracking.
@"^(?<tytul>(.*?))//(?<autor>(.*?))//(?<rok>(.*))$"
You forget to close all the named capturing groups.
@"(?<tytul>(.*))//(?<autor>(.*))//(?<rok>(.*))$"
^ ^ ^
DEMO
By turning the greedy quantifiers .* at the first to non-greedy .*? would avoid backtracking.
@"^(?<tytul>(.*?))//(?<autor>(.*?))//(?<rok>(.*))$"
edited Feb 8 '15 at 2:32
answered Feb 8 '15 at 2:20
Avinash Raj
142k13113160
142k13113160
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f28389861%2fparsing-regex-not-enough-s%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
That's a pretty clear error message - you have unmatched parens. You open six groups, and only close 3.
– Preston Guillot
Feb 8 '15 at 2:21
Go to this site (regexr.com) and test out your regex...
– Marko
Feb 8 '15 at 2:28