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