PHP块文本匹配长度,起始字符和结束字符



我正在将PDF转换为TXT,在某些条件(即会员号(上出现换行问题。我想在成员编号之前插入换行符<br />

成员编号为7个字母数字字符,以0开头,以字符a-Z结尾,例如069065A

/^[0]|[0-9]{5}|[A-Z]$/gm-匹配第一个和最后一个字符以及5位数字。

如何使用preg_replace预挂换行符而不更改会员号?

更新:

$pattern = '/^[0]|[0-9]{5}|[A-Z]$/gm';
$replacement = '<br />$0';
// execute function
$PDFContent = preg_replace($pattern, $replacement, $text);

不工作并且没有错误消息。

如果您正在匹配一个连续序列的竖线是什么?删除这些并根据您的数据设置边距(如果还没有(。您当前的锚点^开始$结束以及m多行标志可以从行首到行尾进行匹配。如果此成员身份id出现在较大文本中的某个位置,请使用例如单词边界b或空白(?<!S)。。。CCD_ 10。

^0[A-Zd]{5}[A-Z]$

在regex101中查看此演示或在tio.run中查看PHP演示(用<br />$0替换也可以(。

注意:您可以删除g标志,它在PHP中不存在。只要未设置$limitpreg_replace将始终执行全局替换。^开始$结束锚需要m标志。如果您使用例如单词边界b并删除它们,您也可以删除m标志。

最新更新