javascript - 正则表达式与字符集中的 $ 不匹配

标签 javascript regex node.js

我目前正在解决一个奇怪的 javascript 正则表达式问题。我试图匹配 / 或输入末尾之间的所有字符。例如这个字符串

admin/item/get

应匹配为:

[ 'admin', 'item', 'get' ]

我并不关心 / 是否是匹配的一部分,所以这个结果也对我有用:

[ 'admin/', 'item/', 'get' ]

为了匹配输入字符串s,我使用正则表达式

s.match(/.+?[\/$]/g)

结果

[ 'admin/', 'item/' ]

据我了解,输入 $ 的结尾在此字符集中不匹配。

当我尝试使用正则表达式仅匹配输入的结尾 s.match(/.+?$/g) 我得到了预期的结果 [ 'admin/item/获取']。但是将 $ 放入字符集 s.match(/.+?$/g) 中,匹配调用将返回 null

感谢任何帮助...

顺便说一句:我正在使用node.js 0.8.20

最佳答案

因为 $ 在放置在字符集中时被视为字符。不过,这应该可以做到,它在非内存捕获组内使用交替,从而将 $ 的含义恢复为主题结尾:

s.match(/.+?(?:\/|$)/g)

["admin/", "bla/", "bla"]

正如评论中提到的:

s.split('/')

["admin", "bla", "bla"]

关于javascript - 正则表达式与字符集中的 $ 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14974982/

相关文章:

javascript - 在 React Component 中多次解构 Props?

正则表达式,提取不在两个括号之间的字符串

javascript - 按前导零和尾随零分割数字

javascript - 如何使用 Nodejs 进行多个 API 调用以将所有结果保存在一个 json 文件中?

javascript - 如何在 node.js 中创建自定义异步函数?

异步函数中的Javascript全局变量?

javascript - 在 Javascript 中启用打印背景颜色和图像选项

javascript - 遍历子节点

php - 匹配字符串中空格后的位数

ios - 无法使基本的 socket.io 发出与 Swift 一起工作