正则表达式 - 如果模式以\开头,则不匹配

时间:2015-01-05 14:16:33

标签: regex

(?:[^\\])\*(.*?)\*

这是有效的,但如果字符串以* something *开头则不匹配所以我需要以某种方式使它在开头不匹配或除了\

之外的任何内容

使用示例编辑:

"text *something*" - matches (correct)
"text \*something*" - doesnt match (correct)
"*something* text" - doesnt match (incorrect)

2 个答案:

答案 0 :(得分:1)

如果你的正则表达式支持它,你可以使用负面看法:

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

答案 1 :(得分:0)

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

(?:^|[^\\])\*(.*?)\*

RegEx Demo

  • (?:^|[^\\])将匹配输入的开头或除\
  • 之外的任何内容