RegEx Exclude a specific string even if it meets group criteria
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I am not sure how to explain it in a title so an example will be better.
I am trying to parse phone numbers and general number and I want my phone numbers to not be taken into consideration by my expression.
My text is the following:
My phone numbers are +4405490198756 | 05490198756 | 05 49 01 98 756 and my numbers are 4123-0123-6123-7123 | 4123512361237123 | 4123 5123 6123 7123
My expression is (?:4[0-9]{12}(?:[0-9]{3})?|b(?:d[ -]*?){13,16}b)
Basically, I am taking everything starting by 4 with 12 or 15 characters between 0 and 9 after and I don't consider spaces nor '-'.
My phone number +4405490198756 is included in the result of this regex at least the numeric part since it answers the expression.
I don't want it to be included in the results.
I tried to play with b^[+]d{13,16}b
and everything I could think about around that but nothing worked.
Any idea on I should proceed?
Thanks in advance.
regex regex-negation regex-lookarounds regex-group
add a comment |
I am not sure how to explain it in a title so an example will be better.
I am trying to parse phone numbers and general number and I want my phone numbers to not be taken into consideration by my expression.
My text is the following:
My phone numbers are +4405490198756 | 05490198756 | 05 49 01 98 756 and my numbers are 4123-0123-6123-7123 | 4123512361237123 | 4123 5123 6123 7123
My expression is (?:4[0-9]{12}(?:[0-9]{3})?|b(?:d[ -]*?){13,16}b)
Basically, I am taking everything starting by 4 with 12 or 15 characters between 0 and 9 after and I don't consider spaces nor '-'.
My phone number +4405490198756 is included in the result of this regex at least the numeric part since it answers the expression.
I don't want it to be included in the results.
I tried to play with b^[+]d{13,16}b
and everything I could think about around that but nothing worked.
Any idea on I should proceed?
Thanks in advance.
regex regex-negation regex-lookarounds regex-group
If you are writing it in JS,(?:^|[^d+])(4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
and grab Group 1. Else,(?<![d+])(?:4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
might do (demo).
– Wiktor Stribiżew
Nov 21 '18 at 21:11
2
It's probably easier to filter out your number from the result in the application code rather than trying to do this in the regexp itself.
– Barmar
Nov 21 '18 at 21:22
It's often easy to get caught up in trying to write one RegEx that does everything you need to. Sometimes this is overly complicated, and this is a good example. Rather than trying to exclude one specific match from a pattern here. Match the phone number patterns first, then in a second expression, exclude your phone number.
– Mako212
Nov 21 '18 at 22:21
Why did you put the entire regex into a non-capturing group(?:xxx)
?
– Andreas
Nov 21 '18 at 22:34
add a comment |
I am not sure how to explain it in a title so an example will be better.
I am trying to parse phone numbers and general number and I want my phone numbers to not be taken into consideration by my expression.
My text is the following:
My phone numbers are +4405490198756 | 05490198756 | 05 49 01 98 756 and my numbers are 4123-0123-6123-7123 | 4123512361237123 | 4123 5123 6123 7123
My expression is (?:4[0-9]{12}(?:[0-9]{3})?|b(?:d[ -]*?){13,16}b)
Basically, I am taking everything starting by 4 with 12 or 15 characters between 0 and 9 after and I don't consider spaces nor '-'.
My phone number +4405490198756 is included in the result of this regex at least the numeric part since it answers the expression.
I don't want it to be included in the results.
I tried to play with b^[+]d{13,16}b
and everything I could think about around that but nothing worked.
Any idea on I should proceed?
Thanks in advance.
regex regex-negation regex-lookarounds regex-group
I am not sure how to explain it in a title so an example will be better.
I am trying to parse phone numbers and general number and I want my phone numbers to not be taken into consideration by my expression.
My text is the following:
My phone numbers are +4405490198756 | 05490198756 | 05 49 01 98 756 and my numbers are 4123-0123-6123-7123 | 4123512361237123 | 4123 5123 6123 7123
My expression is (?:4[0-9]{12}(?:[0-9]{3})?|b(?:d[ -]*?){13,16}b)
Basically, I am taking everything starting by 4 with 12 or 15 characters between 0 and 9 after and I don't consider spaces nor '-'.
My phone number +4405490198756 is included in the result of this regex at least the numeric part since it answers the expression.
I don't want it to be included in the results.
I tried to play with b^[+]d{13,16}b
and everything I could think about around that but nothing worked.
Any idea on I should proceed?
Thanks in advance.
regex regex-negation regex-lookarounds regex-group
regex regex-negation regex-lookarounds regex-group
asked Nov 21 '18 at 21:00
Dimitri.BLDimitri.BL
1
1
If you are writing it in JS,(?:^|[^d+])(4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
and grab Group 1. Else,(?<![d+])(?:4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
might do (demo).
– Wiktor Stribiżew
Nov 21 '18 at 21:11
2
It's probably easier to filter out your number from the result in the application code rather than trying to do this in the regexp itself.
– Barmar
Nov 21 '18 at 21:22
It's often easy to get caught up in trying to write one RegEx that does everything you need to. Sometimes this is overly complicated, and this is a good example. Rather than trying to exclude one specific match from a pattern here. Match the phone number patterns first, then in a second expression, exclude your phone number.
– Mako212
Nov 21 '18 at 22:21
Why did you put the entire regex into a non-capturing group(?:xxx)
?
– Andreas
Nov 21 '18 at 22:34
add a comment |
If you are writing it in JS,(?:^|[^d+])(4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
and grab Group 1. Else,(?<![d+])(?:4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
might do (demo).
– Wiktor Stribiżew
Nov 21 '18 at 21:11
2
It's probably easier to filter out your number from the result in the application code rather than trying to do this in the regexp itself.
– Barmar
Nov 21 '18 at 21:22
It's often easy to get caught up in trying to write one RegEx that does everything you need to. Sometimes this is overly complicated, and this is a good example. Rather than trying to exclude one specific match from a pattern here. Match the phone number patterns first, then in a second expression, exclude your phone number.
– Mako212
Nov 21 '18 at 22:21
Why did you put the entire regex into a non-capturing group(?:xxx)
?
– Andreas
Nov 21 '18 at 22:34
If you are writing it in JS,
(?:^|[^d+])(4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
and grab Group 1. Else, (?<![d+])(?:4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
might do (demo).– Wiktor Stribiżew
Nov 21 '18 at 21:11
If you are writing it in JS,
(?:^|[^d+])(4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
and grab Group 1. Else, (?<![d+])(?:4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
might do (demo).– Wiktor Stribiżew
Nov 21 '18 at 21:11
2
2
It's probably easier to filter out your number from the result in the application code rather than trying to do this in the regexp itself.
– Barmar
Nov 21 '18 at 21:22
It's probably easier to filter out your number from the result in the application code rather than trying to do this in the regexp itself.
– Barmar
Nov 21 '18 at 21:22
It's often easy to get caught up in trying to write one RegEx that does everything you need to. Sometimes this is overly complicated, and this is a good example. Rather than trying to exclude one specific match from a pattern here. Match the phone number patterns first, then in a second expression, exclude your phone number.
– Mako212
Nov 21 '18 at 22:21
It's often easy to get caught up in trying to write one RegEx that does everything you need to. Sometimes this is overly complicated, and this is a good example. Rather than trying to exclude one specific match from a pattern here. Match the phone number patterns first, then in a second expression, exclude your phone number.
– Mako212
Nov 21 '18 at 22:21
Why did you put the entire regex into a non-capturing group
(?:xxx)
?– Andreas
Nov 21 '18 at 22:34
Why did you put the entire regex into a non-capturing group
(?:xxx)
?– Andreas
Nov 21 '18 at 22:34
add a comment |
0
active
oldest
votes
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%2f53420413%2fregex-exclude-a-specific-string-even-if-it-meets-group-criteria%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2f53420413%2fregex-exclude-a-specific-string-even-if-it-meets-group-criteria%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
If you are writing it in JS,
(?:^|[^d+])(4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
and grab Group 1. Else,(?<![d+])(?:4[0-9]{12}(?:[0-9]{3})?|(?:d[ -]*?){13,16})b
might do (demo).– Wiktor Stribiżew
Nov 21 '18 at 21:11
2
It's probably easier to filter out your number from the result in the application code rather than trying to do this in the regexp itself.
– Barmar
Nov 21 '18 at 21:22
It's often easy to get caught up in trying to write one RegEx that does everything you need to. Sometimes this is overly complicated, and this is a good example. Rather than trying to exclude one specific match from a pattern here. Match the phone number patterns first, then in a second expression, exclude your phone number.
– Mako212
Nov 21 '18 at 22:21
Why did you put the entire regex into a non-capturing group
(?:xxx)
?– Andreas
Nov 21 '18 at 22:34