所以我试图在C ++中拆分/,但这没关系。
我有这种正则表达式模式:
\/(?=(?:(?:\\.|[^"'``\\])*["'``](?:\\.|[^"'``\\])*['"``])*(?:\\.|[^"'``\\])*$)
它与不在{,1,}之间的/
匹配,您可以转引号。
可悲的是,我不知道如何使其成为多行。我尝试将.
更改为[^]
并删除$
,但这没有用。
这是我要实现的目标:
Inline code
-匹配
/
东西'/'。 。 。 '\'/ \''。 。 。 ''/
''
'
/
'/
“ /”
答案 0 :(得分:1)
您可以将所需的字符串与之匹配
(?:'[^'\\]*(?:\\[\s\S][^'\\]*)*'|"[^\\"]*(?:\\[\s\S][^"\\]*)*"|`[^\\`]*(?:\\[\s\S][^`\\]*)*`|[^/])+
请参见regex demo
详细信息
(?:
-开始非捕获组匹配...
'[^'\\]*(?:\\[\s\S][^'\\]*)*'
-单引号字符串文字(支持转义序列)|
-或"[^"]*(?:\\[\s\S][^"\\]*)*"
-双引号字符串文字(支持转义序列)|
-或`[^\\`]*(?:\\[\s\S][^`\\]*)*`
-用引号引起来的字符串文字(支持转义序列)|
-或[^/]
-除/
之外的一个字符)+
-...一次或多次。