regex - 不知道为什么我的正则表达式会抓取一些空白项目

标签 regex

我有这个正则表达式:([a-z]+)(?:\.) .

像这样在 Javascript 中使用它:"test.thing.other".split(/([a-z]+)(?:\.)/);最终给了我一个这样的数组:["", "test", "", "thing", "other"] .
我不知道为什么将第一个和第三个元素放入该数组中。谁能告诉我我做错了什么?

最佳答案

基于您的问题和评论 “捕获 a-z 直到一段时间”我相信你应该像这样使用 String.match:

arr = "test.thing.other".match(/[a-z]+(?=\.)/g);

给出:
["test", "thing"]

关于regex - 不知道为什么我的正则表达式会抓取一些空白项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15343017/

相关文章:

regex - 如何用 Go regexp 中的计数器替换出现的字符串?

javascript - 使用正则表达式将缩进从空格更改为制表符

r - 从字符串中删除 Unicode 替换字符

swift - 如何在多行上进行正则表达式搜索?

javascript - 匹配@作为第一个字符

正则表达式浏览器搜索?

c# - 分隔符之间的正则表达式为大写

javascript - 使用 Regex 拆分字符串会产生意外结果

javascript - 如何在Javascript中基于正则表达式进行条件匹配?

php - WordPress 过滤器 - 将 "src"替换为 "load-src"