javascript - 如何将 Ruby 正则表达式转换为 JavaScript?

标签 javascript ruby regex

在 Ruby 中,我有一个正则表达式来获取格式类似于“@xxx”的字符串:

(/(?<!\S)@[A-Za-z0-9\-]+/)

我在客户端也需要这个正则表达式,但 JavaScript 无法读取它。

如何将此正则表达式更改为 JavaScript?

最佳答案

好吧,你在 JavaScript 正则表达式中没有 lookbehind,所以你不能使用 (?<!\S)在 JavaScript 正则表达式中。

您可以使用:

/(?:^|\s)(@[A-Za-z0-9-]+)/

并将捕获的第 1 组用于匹配的文本。

或者您可以使用XRegExp JS 中的库并使用 lookbehind 功能。

关于javascript - 如何将 Ruby 正则表达式转换为 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31086433/

相关文章:

javascript - 循环直到在 Javascript 中找到一个空数组

javascript - 在reactjs中呈现未排序列表的问题

ruby - 为什么在 Ruby 中,Array ("foo\nbar") == ["foo\n", "bar"]?

ruby-on-rails - Rails dup 和 clone 方法有什么区别?

ruby-on-rails - 在 Controller 中 stub 一个实例变量

javascript - 使用正则表达式和 JavaScript 将在字符串中多次出现的单个模式包装起来

javascript - 如何使用 javascript 在 html 页面中动态创建元素?

javascript - 如何通过在其中设置停止点来找出为什么 javascript 代码不起作用

javascript - 正则表达式匹配有效的电话号码

c# - 如何使用正则表达式比较两个列表?