Regex 正则表达式-如果匹配前面有特定字符,则排除该匹配

Regex 正则表达式-如果匹配前面有特定字符,则排除该匹配,regex,Regex,我试图解析字符串并返回之间的内容,但前提是前面没有\ 例如,我在regexr.com上乱搞了以下测试字符串: 这是一个“日期”测试 使用.*.我能够检索到我想要的测试。但是,请给出以下字符串: 这是一个“日期”测试 我不希望它返回,因为反斜杠在前面。到目前为止,我提出了: [^\\](#.*.#) 但是,当测试字符串中不存在反斜杠时,它最终会捕获#前面的任何字符。有没有办法只从测试字符串中获取“#date#”部分,但前提是它前面没有黑色斜杠?您可以使用regex lookback来处理您的案例

我试图解析字符串并返回
之间的内容,但前提是
前面没有
\

例如,我在regexr.com上乱搞了以下测试字符串:

这是一个“日期”测试

使用
.*.
我能够检索到我想要的测试。但是,请给出以下字符串:

这是一个“日期”测试

我不希望它返回,因为反斜杠在
前面。到目前为止,我提出了:

[^\\](#.*.#)

但是,当测试字符串中不存在反斜杠时,它最终会捕获#前面的任何字符。有没有办法只从测试字符串中获取“#date#”部分,但前提是它前面没有黑色斜杠?

您可以使用regex lookback来处理您的案例

您可以使用此正则表达式:

(?<!\\)#(.*?)#
(?


您可以使用以下正则表达式

\\#|#(.*?)#
注意:您可以从捕获组
#1


universal!真正利用RegEx引擎