如何选择匹配正则表达式中行的开头^
或结尾?$
例如:
/(?<=[\s\^])/
不匹配以空格字符或行首开头。
我的问题是在 PHP 中匹配以下内容。
$str = '**bold** **bold** **bold**';
echo preg_replace('/(?<=\s|^)\*\*(.+?)\*\*(?=\s|$)/', '<strong>\\1</strong>', $str);
我的边缘情况在字符串的开头和结尾都是粗体,没有被匹配。我在其他变体中遇到的一些边缘情况是在字符串内匹配、匹配星号链以及无数其他问题。
echo preg_replace('/(?<=^|\s|\>)[\*]{2,}(?=[^\s\*])(.+?)(?<=[^\s\*])[\*]{2,}(?=\s|\<|$)/', '<strong>\\1</strong>', $str);