我试图找出在一行的开头或结尾是否有某个转义序列。如果它在那里那就没问题,否则我需要把它放在开头或结尾。我无法弄清楚该怎么做。请帮忙
e.g。我想说我想要这种字符串
"\"Hello\""
但我遇到了像这样的字符串
Hello
然后我应该将其改为所需的格式
"\"Hello\""
答案 0 :(得分:0)
这个正则表达式:
^(?:\\")?(.*?)(?:\\")?$
允许提取可选地由\"
序列包围的内容。 (演示:https://regex101.com/r/vE2iN1/1)。然后,您可以将其替换为\"$1\"
:
preg_replace('/^(?:\\\\")?(.*?)(?:\\\\")?$/', '\"$1\"', $str);