嗨我在php中有一个大字符串,从100到10,000个字符不等。
在该字符串中,可能有也可能没有表格的子字符串:
reference: asdas_ad_12321_3asd
如果此子字符串存在,reference:
将始终存在,但参考代码的大小可能会有所不同。参考代码由字母,数字和下划线组成。参考代码可以或可以不以句号,空格或新行结束。
从字符串中删除此子字符串的最佳方法是什么?任何pregmatch,或正则表达式将有助于我理解它,但它不是很好。
我猜是像
preg_replace('/reference: [a-zA-Z0-9_]/', '', $string)
我是在正确的轨道上吗?
答案 0 :(得分:2)
你相当接近。但[a-zA-Z0-9_]
只匹配[ and ]
中列出的单个字符。
您可以使用:
$replaced = preg_replace('/reference: [a-zA-Z0-9_]+/', '', $string);
量词+
匹配前面的正则表达式模式中的一个或多个。
或更好:
$replaced = preg_replace('/reference: \w+/', '', $string);
由于\w
与[a-zA-Z0-9_]