我谈的字符串是类似以下内容:正则表达式中的字符串每个点数3
xxxxx.xxxxxx.xxx.yyyyyyy.yyyyyy.yyyyyyyy.zzzz
其中,x,y和z比其他任何东西“” (点),即字母数字,特殊字符,空格,换行等
我想:
(\w|\d|\s){1,}.\.{3,}
我谈的字符串是类似以下内容:正则表达式中的字符串每个点数3
xxxxx.xxxxxx.xxx.yyyyyyy.yyyyyy.yyyyyyyy.zzzz
其中,x,y和z比其他任何东西“” (点),即字母数字,特殊字符,空格,换行等
我想:
(\w|\d|\s){1,}.\.{3,}
使用:
(?:[^.]+\.){3}
这适用于{3}
quanti对整个团队来说更为复杂,而不仅仅是每个团队结束时的.
。既然你想匹配3组,我使用{3}
; {3,}
表示3个或更多组。
它使用更简单的[^.]
来匹配除.
以外的所有内容(不需要在括号内换算点,因为它没有任何特殊含义)。
要在preg_replace
中使用此替换每个第三个点,您需要匹配捕获组中的点之前的所有内容。然后您可以使用$1
将其复制到替换字符串。
preg_replace('/((?:[^.]+\.){2}[^.]+)\./', '$1<br/>', $string);
使用^
在一个字符前面匹配的一切,但这个人物
([^\.]+\.){3,}
您的正则表达式正在查找至少3个连续的点。你为什么在那里有{3}? – Barmar 2014-09-20 21:03:00
你真的想要匹配哪部分字符串?你是什么意思__点数3_? – Barmar 2014-09-20 21:04:13
我的意思是字符串中的每个第三个点,即假设我们有一个包含10个点的字符串,所以我想匹配点编号:3,6和9. – SaidbakR 2014-09-20 21:08:45