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 如何匹配regex中的第二个实例_Php_Regex_Preg Split - Fatal编程技术网

Php 如何匹配regex中的第二个实例

Php 如何匹配regex中的第二个实例,php,regex,preg-split,Php,Regex,Preg Split,get\u by\u my\u列 如果我只想匹配上述字符串的get_by部分,我该如何做?我一直在读这篇文章,我应该使用\n,但我不知道如何正确地实现它 我尝试过以下的变化 /((_){2})/ /(_+){2}/ 你需要使用正则表达式吗?您可以使用并获取结果数组的前两个元素。是否需要使用正则表达式?您可以使用并获取结果数组的前两个元素。尝试/^get\u by^,条件是g必须是起始字符 试试/^get\u by^,条件是g必须是起始字符 试试看 preg_match('/(^[a-z]+[[

get\u by\u my\u列

如果我只想匹配上述字符串的
get_by
部分,我该如何做?我一直在读这篇文章,我应该使用
\n
,但我不知道如何正确地实现它

我尝试过以下的变化

/((_){2})/
/(_+){2}/

你需要使用正则表达式吗?您可以使用并获取结果数组的前两个元素。

是否需要使用正则表达式?您可以使用并获取结果数组的前两个元素。

尝试
/^get\u by

^
,条件是g必须是起始字符

试试
/^get\u by

^
,条件是g必须是起始字符

试试看

preg_match('/(^[a-z]+[[a-z]+)/',$string,$results)

这匹配一个字符串,该字符串以一组字母开头,后跟一个下划线,后跟另一组字母

编辑:(小写字母)

试试看

preg_match('/(^[a-z]+[[a-z]+)/',$string,$results)

这匹配一个字符串,该字符串以一组字母开头,后跟一个下划线,后跟另一组字母

编辑:(小写字母)

/(\w+?\uw+?)\uw+/
(使用非贪婪量词,您的子字符串应在捕获组1中)

或者只是
/\w+?\uw+?/
/(\w+?\uw+?)\uw+/
(使用非贪婪量词,您的子字符串应该在捕获组1中)


或者只是
/\w+?\uw+?/
请澄清为什么
获取,而不是
获取或
下注?您遵循什么逻辑只选择该部分请澄清为什么
get\u by
,而不是
get
bet\u by\u my
?您遵循什么逻辑只选择该部分
您需要使用正则表达式吗?
——好奇,如果我问
您需要使用explode()吗?
?为什么explode在这个问题上比regexp好?@zerkms-PHP不是我的强项,只是带来了一些不同的东西@Webnet-一行代码就是一行代码,唯一真正的区别是它的读取方式+1 explode()会更快,只要你唯一的要求是按
\uu
分割并得到前两个结果。@Ethan:速度对于在微秒内工作的操作毫无意义。
你需要使用正则表达式吗?
--好奇,如果我问
您需要为此使用explode()吗?
?为什么explode在这个问题上比regexp好?@zerkms-PHP不是我的强项,只是带来了一些不同的东西@Webnet-一行代码就是一行代码,唯一真正的区别是它的读取方式+1 explode()会更快,只要你唯一的要求是按
\uu
分割并得到前两个结果。@Ethan:速度对于在微秒内工作的操作毫无意义。
[\u]
等于
。另外,您也不需要括号-整个匹配都属于结果的第0个元素。
[\u]
仅等于
\u
。另外,您也不需要括号-整个匹配都属于结果的第0个元素