Java Script - Regular Expression matching a word in a string
I am trying to find a match in a string with JavaScript. I want to work with the RegEx function.
My example (what I have tried):
var str = "hello.you";
var patt1 = '\b' + str + '\b';
var result = str.match(patt1);
But this does not give me the result which I except. I just want to print "you".
Thanks all in advance.
javascript regex
|
show 2 more comments
I am trying to find a match in a string with JavaScript. I want to work with the RegEx function.
My example (what I have tried):
var str = "hello.you";
var patt1 = '\b' + str + '\b';
var result = str.match(patt1);
But this does not give me the result which I except. I just want to print "you".
Thanks all in advance.
javascript regex
1
Why do you expectyou
when you use/bhello.youb/
regex againsthello.you
string? What are you trying to achieve?
– Wiktor Stribiżew
Nov 20 '18 at 19:36
Thx for your answer. I just wanted to show what I have tried so far. I want to print the word "you" in the string "hello.you" with Regex @WiktorStribiżew
– Lia
Nov 20 '18 at 19:42
@Lia You don't need regex for that. Just return the word "you" and you're done. Unless there are different variations of that string? In that case you really should elaborate on what you expect if the string is not "hello.you". Do you want to get everything after the dot? What if there is more than one dot? Be specific.
– Ivar
Nov 20 '18 at 19:49
1
Then useresult = str.match(/.(w+)/)[1]
. Orstr.match(/.([^.]+)/)[1]
. Or juststr.split('.')[1]
– Wiktor Stribiżew
Nov 20 '18 at 19:49
1
Note it won't work in case ofПривет.Петя
(=Russian forHello.Peter
) becausew
does not match non-ASCII letters and digits.
– Wiktor Stribiżew
Nov 20 '18 at 19:55
|
show 2 more comments
I am trying to find a match in a string with JavaScript. I want to work with the RegEx function.
My example (what I have tried):
var str = "hello.you";
var patt1 = '\b' + str + '\b';
var result = str.match(patt1);
But this does not give me the result which I except. I just want to print "you".
Thanks all in advance.
javascript regex
I am trying to find a match in a string with JavaScript. I want to work with the RegEx function.
My example (what I have tried):
var str = "hello.you";
var patt1 = '\b' + str + '\b';
var result = str.match(patt1);
But this does not give me the result which I except. I just want to print "you".
Thanks all in advance.
javascript regex
javascript regex
asked Nov 20 '18 at 19:34
Lia
608
608
1
Why do you expectyou
when you use/bhello.youb/
regex againsthello.you
string? What are you trying to achieve?
– Wiktor Stribiżew
Nov 20 '18 at 19:36
Thx for your answer. I just wanted to show what I have tried so far. I want to print the word "you" in the string "hello.you" with Regex @WiktorStribiżew
– Lia
Nov 20 '18 at 19:42
@Lia You don't need regex for that. Just return the word "you" and you're done. Unless there are different variations of that string? In that case you really should elaborate on what you expect if the string is not "hello.you". Do you want to get everything after the dot? What if there is more than one dot? Be specific.
– Ivar
Nov 20 '18 at 19:49
1
Then useresult = str.match(/.(w+)/)[1]
. Orstr.match(/.([^.]+)/)[1]
. Or juststr.split('.')[1]
– Wiktor Stribiżew
Nov 20 '18 at 19:49
1
Note it won't work in case ofПривет.Петя
(=Russian forHello.Peter
) becausew
does not match non-ASCII letters and digits.
– Wiktor Stribiżew
Nov 20 '18 at 19:55
|
show 2 more comments
1
Why do you expectyou
when you use/bhello.youb/
regex againsthello.you
string? What are you trying to achieve?
– Wiktor Stribiżew
Nov 20 '18 at 19:36
Thx for your answer. I just wanted to show what I have tried so far. I want to print the word "you" in the string "hello.you" with Regex @WiktorStribiżew
– Lia
Nov 20 '18 at 19:42
@Lia You don't need regex for that. Just return the word "you" and you're done. Unless there are different variations of that string? In that case you really should elaborate on what you expect if the string is not "hello.you". Do you want to get everything after the dot? What if there is more than one dot? Be specific.
– Ivar
Nov 20 '18 at 19:49
1
Then useresult = str.match(/.(w+)/)[1]
. Orstr.match(/.([^.]+)/)[1]
. Or juststr.split('.')[1]
– Wiktor Stribiżew
Nov 20 '18 at 19:49
1
Note it won't work in case ofПривет.Петя
(=Russian forHello.Peter
) becausew
does not match non-ASCII letters and digits.
– Wiktor Stribiżew
Nov 20 '18 at 19:55
1
1
Why do you expect
you
when you use /bhello.youb/
regex against hello.you
string? What are you trying to achieve?– Wiktor Stribiżew
Nov 20 '18 at 19:36
Why do you expect
you
when you use /bhello.youb/
regex against hello.you
string? What are you trying to achieve?– Wiktor Stribiżew
Nov 20 '18 at 19:36
Thx for your answer. I just wanted to show what I have tried so far. I want to print the word "you" in the string "hello.you" with Regex @WiktorStribiżew
– Lia
Nov 20 '18 at 19:42
Thx for your answer. I just wanted to show what I have tried so far. I want to print the word "you" in the string "hello.you" with Regex @WiktorStribiżew
– Lia
Nov 20 '18 at 19:42
@Lia You don't need regex for that. Just return the word "you" and you're done. Unless there are different variations of that string? In that case you really should elaborate on what you expect if the string is not "hello.you". Do you want to get everything after the dot? What if there is more than one dot? Be specific.
– Ivar
Nov 20 '18 at 19:49
@Lia You don't need regex for that. Just return the word "you" and you're done. Unless there are different variations of that string? In that case you really should elaborate on what you expect if the string is not "hello.you". Do you want to get everything after the dot? What if there is more than one dot? Be specific.
– Ivar
Nov 20 '18 at 19:49
1
1
Then use
result = str.match(/.(w+)/)[1]
. Or str.match(/.([^.]+)/)[1]
. Or just str.split('.')[1]
– Wiktor Stribiżew
Nov 20 '18 at 19:49
Then use
result = str.match(/.(w+)/)[1]
. Or str.match(/.([^.]+)/)[1]
. Or just str.split('.')[1]
– Wiktor Stribiżew
Nov 20 '18 at 19:49
1
1
Note it won't work in case of
Привет.Петя
(=Russian for Hello.Peter
) because w
does not match non-ASCII letters and digits.– Wiktor Stribiżew
Nov 20 '18 at 19:55
Note it won't work in case of
Привет.Петя
(=Russian for Hello.Peter
) because w
does not match non-ASCII letters and digits.– Wiktor Stribiżew
Nov 20 '18 at 19:55
|
show 2 more comments
1 Answer
1
active
oldest
votes
So you jumped right into a pretty advanced regex topic. You sort of want to do a lookahead (the word AFTER a given boundary character). The following will get you there:
let str = "hello.you",
myRegex = /(?<=.)w+/;
let theWord = str.match(myRegex);
console.log(theWord[0]);
... And what that does, is uses (?<=.) to indicate "something that comes after a period", followed by w+ to indicate a word.
I'd recommend using a regex tester, and build from that. I use https://www.regextester.com/
Running the code snippet returnsSyntaxError: invalid regexp group
when using Firefox.
– ams
Nov 20 '18 at 20:02
Wondering if FireFox is supporting lookaheads/lookbehinds yet.
– Snowmonkey
Nov 23 '18 at 20:20
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%2f53400305%2fjava-script-regular-expression-matching-a-word-in-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
So you jumped right into a pretty advanced regex topic. You sort of want to do a lookahead (the word AFTER a given boundary character). The following will get you there:
let str = "hello.you",
myRegex = /(?<=.)w+/;
let theWord = str.match(myRegex);
console.log(theWord[0]);
... And what that does, is uses (?<=.) to indicate "something that comes after a period", followed by w+ to indicate a word.
I'd recommend using a regex tester, and build from that. I use https://www.regextester.com/
Running the code snippet returnsSyntaxError: invalid regexp group
when using Firefox.
– ams
Nov 20 '18 at 20:02
Wondering if FireFox is supporting lookaheads/lookbehinds yet.
– Snowmonkey
Nov 23 '18 at 20:20
add a comment |
So you jumped right into a pretty advanced regex topic. You sort of want to do a lookahead (the word AFTER a given boundary character). The following will get you there:
let str = "hello.you",
myRegex = /(?<=.)w+/;
let theWord = str.match(myRegex);
console.log(theWord[0]);
... And what that does, is uses (?<=.) to indicate "something that comes after a period", followed by w+ to indicate a word.
I'd recommend using a regex tester, and build from that. I use https://www.regextester.com/
Running the code snippet returnsSyntaxError: invalid regexp group
when using Firefox.
– ams
Nov 20 '18 at 20:02
Wondering if FireFox is supporting lookaheads/lookbehinds yet.
– Snowmonkey
Nov 23 '18 at 20:20
add a comment |
So you jumped right into a pretty advanced regex topic. You sort of want to do a lookahead (the word AFTER a given boundary character). The following will get you there:
let str = "hello.you",
myRegex = /(?<=.)w+/;
let theWord = str.match(myRegex);
console.log(theWord[0]);
... And what that does, is uses (?<=.) to indicate "something that comes after a period", followed by w+ to indicate a word.
I'd recommend using a regex tester, and build from that. I use https://www.regextester.com/
So you jumped right into a pretty advanced regex topic. You sort of want to do a lookahead (the word AFTER a given boundary character). The following will get you there:
let str = "hello.you",
myRegex = /(?<=.)w+/;
let theWord = str.match(myRegex);
console.log(theWord[0]);
... And what that does, is uses (?<=.) to indicate "something that comes after a period", followed by w+ to indicate a word.
I'd recommend using a regex tester, and build from that. I use https://www.regextester.com/
let str = "hello.you",
myRegex = /(?<=.)w+/;
let theWord = str.match(myRegex);
console.log(theWord[0]);
let str = "hello.you",
myRegex = /(?<=.)w+/;
let theWord = str.match(myRegex);
console.log(theWord[0]);
answered Nov 20 '18 at 19:46
Snowmonkey
2,8571912
2,8571912
Running the code snippet returnsSyntaxError: invalid regexp group
when using Firefox.
– ams
Nov 20 '18 at 20:02
Wondering if FireFox is supporting lookaheads/lookbehinds yet.
– Snowmonkey
Nov 23 '18 at 20:20
add a comment |
Running the code snippet returnsSyntaxError: invalid regexp group
when using Firefox.
– ams
Nov 20 '18 at 20:02
Wondering if FireFox is supporting lookaheads/lookbehinds yet.
– Snowmonkey
Nov 23 '18 at 20:20
Running the code snippet returns
SyntaxError: invalid regexp group
when using Firefox.– ams
Nov 20 '18 at 20:02
Running the code snippet returns
SyntaxError: invalid regexp group
when using Firefox.– ams
Nov 20 '18 at 20:02
Wondering if FireFox is supporting lookaheads/lookbehinds yet.
– Snowmonkey
Nov 23 '18 at 20:20
Wondering if FireFox is supporting lookaheads/lookbehinds yet.
– Snowmonkey
Nov 23 '18 at 20:20
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%2f53400305%2fjava-script-regular-expression-matching-a-word-in-a-string%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
1
Why do you expect
you
when you use/bhello.youb/
regex againsthello.you
string? What are you trying to achieve?– Wiktor Stribiżew
Nov 20 '18 at 19:36
Thx for your answer. I just wanted to show what I have tried so far. I want to print the word "you" in the string "hello.you" with Regex @WiktorStribiżew
– Lia
Nov 20 '18 at 19:42
@Lia You don't need regex for that. Just return the word "you" and you're done. Unless there are different variations of that string? In that case you really should elaborate on what you expect if the string is not "hello.you". Do you want to get everything after the dot? What if there is more than one dot? Be specific.
– Ivar
Nov 20 '18 at 19:49
1
Then use
result = str.match(/.(w+)/)[1]
. Orstr.match(/.([^.]+)/)[1]
. Or juststr.split('.')[1]
– Wiktor Stribiżew
Nov 20 '18 at 19:49
1
Note it won't work in case of
Привет.Петя
(=Russian forHello.Peter
) becausew
does not match non-ASCII letters and digits.– Wiktor Stribiżew
Nov 20 '18 at 19:55