用于带括号的单词边界检测的javascript regexp
我有一个字符串“我是一个机器人,我被命名为456/m(4)。忘记这个名字(它没有任何意义)” 现在我想从这个字符串中提取所有单词 为此,我使用正则表达式:用于带括号的单词边界检测的javascript regexp,javascript,regex,Javascript,Regex,我有一个字符串“我是一个机器人,我被命名为456/m(4)。忘记这个名字(它没有任何意义)” 现在我想从这个字符串中提取所有单词 为此,我使用正则表达式: /\b[\w\S]+\b/g 它返回字符串中的所有单词,除了有一个单词“456/(4)”而不是“456/(4)”。我理解这是因为它是一个单词边界,但是有没有一种方法可以说它不是一个合法的单词边界,因为没有“合法的”开始使用括号?我现在做得更好了。它正是你想要的 \b(?>\([\w\/]+\)|[\w\/])+ 如果您想要一个ja
/\b[\w\S]+\b/g
它返回字符串中的所有单词,除了有一个单词“456/(4)”而不是“456/(4)”。我理解这是因为它是一个单词边界,但是有没有一种方法可以说它不是一个合法的单词边界,因为没有“合法的”开始使用括号?我现在做得更好了。它正是你想要的
\b(?>\([\w\/]+\)|[\w\/])+
如果您想要一个javascript友好的版本:
((?:(?=(\([\w\/]+\)|[\w\/]))\2)+)
只需使用捕获组1即可
很抱歉,这似乎不适用于“暴露于360J/m(2)和456/m(4)”的情况我相信我的问题比你提出的这个快速解决方案更一般。@suzee我刚刚更新了它,以便更好地为你服务。我很忙,所以不能早点回来。对不起!@suzee我改进了它。现在它只会抓住括号,如果它是单词的一部分。@suzee请不要做错误的编辑。这个网站上没有人真正检查它我为你的答案添加了一个正确的javascript友好版本。