使用正则表达式找出所有不包含某字符串的行
之前写 Webpack 配置的时候遇到这样一个问题: 通过 这是一个强迫症患者所不能接受的。那么问题来了:如何使用正则式匹配一段文字不包含某个字符串呢? 匹配某段文字不以某字符串结尾比如需要匹配一段文字不以
/.*[^s][^o][^m][^e][^_][^t][^e][^x][^t]$/ 比较容易想到的方式。虽然笨了点,但的确是有效的方法。但这样做只能匹配长度≥9的字符串,而且只能判断不以某一个字符串结尾。
/(?!some_text).{9}$/ 该正则式断言最后任意九个字符不是
/(?<!some_text)$/ 该正则式断言行尾之前的字符串不是
str.endsWith('some_text') 匹配某段文字不以某字符串开头比如需要匹配一段文字不以
/^[^s][^o][^m][^e][^_][^t][^e][^x][^t]/ 好想,但同样只能匹配长度≥9的字符串。
/^(!some_text)/ 匹配行首位置后不出现
str.startsWith('some_text') 匹配某段文字不包含某字符串比如匹配某段文字不包含字符串
/^((?!some_text).)*$/ 正则式断言该段文字的任意位置都不出现 /^(?!some_text).(?!some_text).(?!some_text).(?!some_text).(?!some_text).(?!some_text).……$/
str.includes('some_text') // ES2016,注意不是 contains str.indexOf('some_text') >= 0 // 兼容性更好 完(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |