Regexp:除序列外的任何字符

fl0*_*00r 12 ruby regex

[^ abc]除了:a,b或c之外的任何单个字符

但是如何为除序列之外的任何字符制作正则表达式 abc

那样的话

"Hello abc awesome world".scan /[^(abc)]+/
Run Code Online (Sandbox Code Playgroud)

将返回"你好"和"令人敬畏的世界".

PS:而不是分裂字符串

krl*_*mlr 16

这称为环视,在您的情况下,您将要使用负向前瞻.我不确定Ruby中的确切语法,但(?!abc)可能会有所作为.请注意,环视不会消耗任何输入,因此您需要使用此后跟任何您想要匹配的模式.也许(?:(?!abc).)+你正在寻找什么?

  • 为我节省了很多时间。正在执行`(?!abc)。+`,它对整个字符序列进行了否定的超前查找。这似乎是逐个字符地完成的,我什至没有想到。现在一切都很好,很幸福。格拉西亚斯! (2认同)