正则表达式挑战:不能使用'^'

So8*_*res 1 regex

长话短说,我正在使用一个带有导致崩溃的bug的库,如果我使用带括号后的插入符号的正则表达式(例如,正则表达式[^ a]).正在处理这个错误,并且切换库不是一个简单的选择,我希望能够在现在和错误修复之间继续工作.

因此,我需要在不使用插入符的情况下表达以下两个正则表达式:

[^'] and [^"]
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?如果是这样,怎么样?现在可以接受一个包含所有ascii字符的正则表达式,但我正在使用unicode,因此这不是一个不漏水的解决方法.

Bar*_*ers 5

是的,试试:

(?!['"]).
Run Code Online (Sandbox Code Playgroud)

我假设您的正则表达式库支持展望未来.

实际上它的作用是:

(?!      # start negative look ahead
  ['"]   #   match a single- or double quote
)        # stop negative look ahead
.        # match any character other than line breaks
Run Code Online (Sandbox Code Playgroud)

用简单的英语:"如果在向前看时不能 '看到' 单引号或双引号,则匹配任何字符(除了换行符)".