Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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 字符串中每个点编号3的正则表达式_Php_Regex - Fatal编程技术网

Php 字符串中每个点编号3的正则表达式

Php 字符串中每个点编号3的正则表达式,php,regex,Php,Regex,我谈论的字符串如下所示: xxxxx.xxxxxx.xxx.yyyyyyy.yyyyyy.yyyyyyyy.zzzz 其中x、y和z不是“.”(点),即字母数字、特殊字符、空格、新行等 我试过: (\w|\d|\s){1,}.\.{3,} 在字符前面使用^匹配除此字符以外的所有字符 ([^\.]+\.){3,} 在字符前面使用^匹配除此字符以外的所有字符 ([^\.]+\.){3,} 在字符前面使用^匹配除此字符以外的所有字符 ([^\.]+\.){3,} 在字符前面使用^匹配除

我谈论的字符串如下所示:

xxxxx.xxxxxx.xxx.yyyyyyy.yyyyyy.yyyyyyyy.zzzz
其中x、y和z不是“.”(点),即字母数字、特殊字符、空格、新行等

我试过:

(\w|\d|\s){1,}.\.{3,}

在字符前面使用
^
匹配除此字符以外的所有字符

 ([^\.]+\.){3,}

在字符前面使用
^
匹配除此字符以外的所有字符

 ([^\.]+\.){3,}

在字符前面使用
^
匹配除此字符以外的所有字符

 ([^\.]+\.){3,}

在字符前面使用
^
匹配除此字符以外的所有字符

 ([^\.]+\.){3,}
使用:

这将
{3}
量词应用于整个组,而不仅仅是每个组末尾的
。因为您希望精确匹配3个组,所以我使用
{3}
<代码>{3,}表示3个或更多组

它使用更简单的
[^.]
匹配除
之外的所有内容(不必在括号内转义点,因为它在括号中没有任何特殊含义)

要在
preg_replace
中使用此选项替换第三个点,您需要在捕获组中匹配该点之前的所有内容。然后可以使用
$1
将其复制到替换字符串中

preg_replace('/((?:[^.]+\.){2}[^.]+)\./', '$1<br/>', $string);
preg\u replace('/((?:[^.]+\.){2}[^.]+)\./','$1
',$string);
使用:

这将
{3}
量词应用于整个组,而不仅仅是每个组末尾的
。因为您希望精确匹配3个组,所以我使用
{3}
<代码>{3,}表示3个或更多组

它使用更简单的
[^.]
匹配除
之外的所有内容(不必在括号内转义点,因为它在括号中没有任何特殊含义)

要在
preg_replace
中使用此选项替换第三个点,您需要在捕获组中匹配该点之前的所有内容。然后可以使用
$1
将其复制到替换字符串中

preg_replace('/((?:[^.]+\.){2}[^.]+)\./', '$1<br/>', $string);
preg\u replace('/((?:[^.]+\.){2}[^.]+)\./','$1
',$string);
使用:

这将
{3}
量词应用于整个组,而不仅仅是每个组末尾的
。因为您希望精确匹配3个组,所以我使用
{3}
<代码>{3,}表示3个或更多组

它使用更简单的
[^.]
匹配除
之外的所有内容(不必在括号内转义点,因为它在括号中没有任何特殊含义)

要在
preg_replace
中使用此选项替换第三个点,您需要在捕获组中匹配该点之前的所有内容。然后可以使用
$1
将其复制到替换字符串中

preg_replace('/((?:[^.]+\.){2}[^.]+)\./', '$1<br/>', $string);
preg\u replace('/((?:[^.]+\.){2}[^.]+)\./','$1
',$string);
使用:

这将
{3}
量词应用于整个组,而不仅仅是每个组末尾的
。因为您希望精确匹配3个组,所以我使用
{3}
<代码>{3,}表示3个或更多组

它使用更简单的
[^.]
匹配除
之外的所有内容(不必在括号内转义点,因为它在括号中没有任何特殊含义)

要在
preg_replace
中使用此选项替换第三个点,您需要在捕获组中匹配该点之前的所有内容。然后可以使用
$1
将其复制到替换字符串中

preg_replace('/((?:[^.]+\.){2}[^.]+)\./', '$1<br/>', $string);
preg\u replace('/((?:[^.]+\.){2}[^.]+)\./','$1
',$string);


您的regexp在一行中查找至少3个点。为什么在那里有
{3,}
?您实际上要匹配字符串的哪个部分?点编号3是什么意思?我是指字符串中的每三个点,即假设一个字符串包含10个点,所以我要匹配点编号:3、6和9。每三个点匹配位置?您的regexp在一行中查找至少3个点。为什么在那里有
{3,}
?您实际上要匹配字符串的哪个部分?点编号3是什么意思?我是指字符串中的每三个点,即假设一个字符串包含10个点,所以我要匹配点编号:3、6和9。每三个点匹配位置?您的regexp在一行中查找至少3个点。为什么在那里有
{3,}
?您实际上要匹配字符串的哪个部分?点编号3是什么意思?我是指字符串中的每三个点,即假设一个字符串包含10个点,所以我要匹配点编号:3、6和9。每三个点匹配位置?您的regexp在一行中查找至少3个点。为什么在那里有
{3,}
?您实际上要匹配字符串的哪个部分?点编号3是什么意思?我是指字符串中的每三个点,即假设一个字符串包含10个点,所以我想匹配点编号:3、6和9。每三个点匹配位置?这是一个非常好的解决方案,可以通过进一步的函数来处理。但是,有可能匹配三分之一的点吗?我在点周围添加了一个捕获组。我不知道为什么你需要匹配点本身,虽然?它的值总是一个点。我有没有任何换行的长文章文本,所以我想用

替换每三个点,使用
preg_replace()
,然后你实际上想在点之前匹配文本,这样你就可以在替换中保留它了非常感谢。它工作得很好。这是一个演示:这是一个非常好的解决方案,可以由其他函数处理。但是,有可能匹配三分之一的点吗?我在点周围添加了一个捕获组。我不知道为什么你需要匹配点本身,虽然?它的值总是一个点。我有没有任何换行的长文章文本,所以我想用

替换每三个点,使用
preg_replace()
,然后你实际上想在点之前匹配文本,这样你就可以在替换中保留它了非常感谢。它工作得很好。这是一个演示:这非常有趣