Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的点匹配模式_Php_Regex - Fatal编程技术网

PHP中的点匹配模式

PHP中的点匹配模式,php,regex,Php,Regex,我需要找到子字符串并用其中的点替换它。保持搜索严格到单词边界(\b)很重要。下面是一个要复制的示例脚本(我需要匹配“test”): 顺便说一句,如果搜索模式中有方括号,我也不会得到任何匹配。我当然逃避了它们,但仍然没有效果。正则表达式不能读取;他们真的不知道“单词”是什么。对他们来说,单词边界只是一个位置,前面有单词字符,后面没有单词字符,或者后面有单词字符,前面没有单词字符: (?<=\w)(?!\w)|(?=\w)(?<!\w) …或者更简洁地说,作为一种消极的前瞻: '~\b

我需要找到子字符串并用其中的点替换它。保持搜索严格到单词边界(\b)很重要。下面是一个要复制的示例脚本(我需要匹配“test”):


顺便说一句,如果搜索模式中有方括号,我也不会得到任何匹配。我当然逃避了它们,但仍然没有效果。

正则表达式不能读取;他们真的不知道“单词”是什么。对他们来说,单词边界只是一个位置,前面有单词字符,后面没有单词字符,或者后面有单词字符,前面没有单词字符:

(?<=\w)(?!\w)|(?=\w)(?<!\w)
…或者更简洁地说,作为一种消极的前瞻:

'~\btest\.(?=\s|$)~i'
'~\btest\.(?!\S)~i'

…换句话说,如果有下一个字符,它就不是非空白字符。

谢谢你的回复,现在我知道了。至于我最初的任务,我需要搜索精确的文本片段,而点是收缩的一部分。例如:“sm.AEL”、“某些名称[信息]”等。
'~\btest\.(?=\s|$)~i'
'~\btest\.(?!\S)~i'