在javascript中使用正则表达式查找所有出现但不包括特定字符串的事件

恩登杜·阿巴西利

所以基本上给定这个字符串,iiisdoso我想提取字符串的所有部分,但不包括字母o所以基本上iiisds. 我目前只有

const data = "iiisdoso"
const regex = /(.*?)o/g

console.log(data.match(regex))

但此结果包括 o in 但我的目标是返回结果最多但不包括 o

阿诺

正如评论中已经提到的,您可以使用否定和字符类来实现这一点:

const data = "iiisdoso"
const regex = /([^o]+)/g

console.log(data.match(regex))

这会给你想要的结果

["iiisd", "s"]

但这也匹配任何后面没有“o”的字符串!为避免这种情况,您需要使用

const regex = /([^o]+)o/g

在这种情况下,“o”包含在匹配中,并且必须为结果数组的每个字符串删除 - 例如

mymatch.replace('o','')

有趣:如果你使用

const regex = /([^o]*)/g

结果是

["iiisd", "", "s", "", ""]

这是我不明白的事情。好吧 - 我知道空字符串也与正则表达式匹配,并且可以放在“o”之前。但是为什么我们最后会得到第三个空字符串呢?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式替换所有字符串,不包括特殊前缀

使用正则表达式在字符串中查找所有出现的日期

正则表达式匹配字符串中的特定单词,但不包括索引版本

正则表达式匹配大于长度的字符串,但不包括末尾的匹配

正则表达式匹配字符串开头但不包括

Java字符串-是否获取(但不包括)两个正则表达式之间的所有内容?

Vim查找并替换所有出现的正则表达式字符串

我在查找/替换中使用什么正则表达式来查找声明字符串的所有实例?

正则表达式-查找具有特定字符串的所有注释

段落中的Javascript正则表达式匹配字符串不包括网址

编程:使用正则表达式提取字符串(不包括空格)

正则表达式:查找特定字符串后的所有数字

需要正则表达式来查找特定模式的所有子字符串

正则表达式匹配特定字符串中的所有出现

正则表达式匹配所有字符串(包括空格),而不包含特定类型的字符串

如何在正则表达式中匹配字符串,但不包括JS中的单词字符?

使用正则表达式查找字符串中不包含特定字母的所有单词

正确的正则表达式使用 javascript 匹配不包括特定字符的字母

JavaScript:提取字符串中所有出现的正则表达式

正则表达式-字符串以任何东西(但不包括东西)开头和结尾

使用Javascript以任意顺序使用正则表达式查找字符串中的所有匹配项

使用正则表达式查找字符串中的所有匹配项

使用正则表达式查找并替换字符串中模式的所有实例

使用正则表达式查找字符串中的所有匹配项

如何在JavaScript中使用正则表达式查找字符串?

使用正则表达式替换子字符串的所有奇数出现

使用正则表达式替换VQMod中所有出现的字符串

如何使用正则表达式替换所有出现的子字符串?

Javascript:使用正则表达式将字符串中所有出现的“ a”替换为“ b”