我希望得到一个由一个单词组成的字符串,其前后有一个分隔符
我试过但是没有工作
$stringData2 = file_get_contents('testtext3.txt');
$regular2=('/(?<=first del)*MAIN WORD(?=last del)*\s');
preg_match_all($regular2,
$stringData2,
$out, PREG_PATTERN_ORDER);
非常感谢你的帮助
答案 0 :(得分:2)
不需要量词,最后添加分隔符,将\s
放在预测中。
'/(?<=first del)MAIN WORD(?=last del\s)/'
答案 1 :(得分:0)
这个正则表达式
(?<=xx)[^\s]*(?=yy)
匹配hello
:
xxhelloyy
但未能匹配:
xxhello worldyy
这可能就是你要找的东西。
答案 2 :(得分:0)
如果你想在匹配中包含分隔符字符串,那么你不应该使用超前或外观或后面看。这应该是基本的东西,比如说。
/\s?first del MAIN WORD last del\s?/
如果你确实想要返回JUST MAIN WORD部分的匹配,那么这将有效。
/(?<=\s?first del)MAIN WORD(?=last del\s?)/
如果你愿意的话,在它的最后放一个'i'以使它不区分大小写。我只提到这一点,因为在上面给出的例子中,示例文本与所需的响应之间存在不同的情况。