JavaScript正则表达式:字符串不包含

For some reason I think that regular expressions can solve every problem and for some reason I always find out the regular expression I'm trying to create is too complicated and probably not the best route to getting what I want.  Case in point:  I needed to create a regular expression which is meant to not match a string.  I don't want to match a string which includes [requires-login] but do want to match everything else.  Let's set aside the why for now, here's how I accomplished what I wanted:

由于某种原因,我认为正则表达式可以解决所有问题,并且由于某种原因,我总是发现我要创建的正则表达式过于复杂,可能不是获取所需内容的最佳途径。 举例:我需要创建一个正则表达式,该表达式不匹配字符串。 我不想匹配的字符串,其中包括[requires-login] ,但希望到别的匹配的一切。 让我们暂时搁下为什么,这是我如何实现我想要的:


// Adding extra forward slashes for "[" and "]"
var regex = '^(?!.*?\\[requires-login\\])';

// Compile
var re = new RegExp(regex);


So why do I want to do this?  Within my intern client side tests, I mark tests requiring login as [requires-login], and if a username and password aren't passed in via command line, I want to skip those tests.  In that case, I leverage intern's grep function to match tests without the given string.  I'd prefer to mark a few tests with [requires-login] instead of mark most of them as [no-login].

那我为什么要这样做呢? 在我的内部客户端测试中,我将需要登录的测试标记为[requires-login] ,如果没有通过命令行传递用户名和密码,我想跳过这些测试。 在那种情况下,我利用实习生的grep函数来匹配没有给定字符串的测试。 我宁愿用[requires-login]标记一些测试,而不是将大多数标记为[no-login]

Sometimes you want to do things within the web development world which aren't ideal but you simply need to accomplish them within a given parameter set.  This is one of those cases.  In the end you need to make it happen, and in this case, I did so!

有时候,您想在Web开发领域中做一些不理想的事情,而只需要在给定的参数集中完成它们即可。 这是其中一种情况。 最后,您需要实现它,在这种情况下,我做到了!

翻译自: https://davidwalsh.name/javascript-regex-string

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值