PHP中带有preg_replace()的正则表达式。匹配所有引号,但当行以斜杠开头时不匹配
源代码:
// eehen nhdhdhd ooe "jjejej" ejeje "keihjen" jehhemm
jejej "jejeooe" kekek "jilnana" jennbeb
所需结果:
// eehen nhdhdhd ooe "jjejej" ejeje "keihjen" jehhemm
jejej <span class="red">"jejeooe"</span> kekek <span class="red">"jilnana"</span> jennbeb
我的正则表达式仅匹配最后一个引号。我将用外部Span替换所有报价(包括报价),而不是注释行中的所有报价。
我的正则表达式:
'/^((?!\/\/).*)(".*")/m'
我替换:
'$1<span class="red">$2</span>'
我的结果:
// eehen nhdhdhd ooe "jjejej" ejeje "keihjen" jehhemm
jejej "jejeooe" kekek <span class="red">"jilnana"</span> jennbeb
//
开头的任何行。^\/\/.*(*SKIP)(*FAIL)|("[^"]+")
然后您可以替换为
<span class="red">$1</span>
https://regex101.com/r/bLkctu/1/对于实体值:
^\/\/.*(*SKIP)(*FAIL)|(".*?")
https://regex101.com/r/bLkctu/2/