我已经搜索了几个小时,并且已经尝试了大量不同的模式 - 有一个简单的事情我不想用正则表达式来实现,但不知怎的,它根本不会按照我的意愿去做:< / p>
这是一些文字\ 0“§%lfsdrlsrblabla \ 0 \ 0 \ 0} dfglpdfgl
这是一些文字
这是一些文字\ 0
这是一些文字
我只想匹配所有内容 - 直到和 除{/ 1}} - 导致只有1次匹配。 (\0
之前的所有内容)
对于我的情况,重要是每次都匹配,即使没有给出\0
。
感谢您的帮助!
答案 0 :(得分:2)
您可以尝试使用此模式:
@"^(?:[^\\]+|\\(?!0))+"
换句话说:除了反斜杠或反斜杠之外的所有字符都没有后跟0
答案 1 :(得分:1)
我喜欢
@"^((?!\\0).)*"
因为使用任意字符串都很容易实现。基本技巧是否定先行,它断言此时开始的字符串与 正则表达里面。我们使用通配符来表示“字面意思是任何不在我的字符串开头的字符。如果你的字符串应该改变,这是一个简单的更新 - 只是
@"^((?!--STRING--).)*)"
只要你正确地逃脱那个字符串。哎呀,使用这种模式,你只是一个regex_escape
函数来生成任何分隔符字符串。
奖励:当你的字符串以分隔符开头时,使用*而不是+将返回一个空字符串作为有效匹配。