如何运行正则表达式/\Wtop\W/
并确定匹配发生的位置或非字母数字(\ W)字符是什么?
我知道我可能想做点像......
if (preg_match('/\Wtop\W/', $string)) {
...
但我仍然坚持如何识别\ W匹配的内容或匹配发生的位置。
答案 0 :(得分:3)
请参阅PHP Docs。这是你应该做的:
preg_match('/(\W)top\W/', $string, $matches, PREG_OFFSET_CAPTURE);
$position = $matches[1][1];
答案 1 :(得分:1)
使用PREG_OFFSET_CAPTURE
标志获取匹配的位置。
将\W
括在括号中,捕获结果(添加$match
之类的空变量),然后获取第一个$match[1]
的{{1}}和{{1}第二个。