Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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,我有一个字符串,其中我只希望在“###-”之后有内容 例如: 1234 - This is a string with 100 characters 我想从中得出结论:这是一个包含100个字符的字符串 我已经试了好几个小时了,但是我不能让它工作。我想这段代码选择了数字和-符号:^\d+-,但我想要字符串的完全相反的部分 非常感谢您的帮助您可以使用此正则表达式: ~^\d+ - (.+)$~ 抓到被俘的第1组 或使用匹配重置\K: ~^\d+ - \K.+$~ PS:您也可以在preg\u

我有一个字符串,其中我只希望在“###-”之后有内容

例如:

1234 - This is a string with 100 characters
我想从中得出结论:
这是一个包含100个字符的字符串

我已经试了好几个小时了,但是我不能让它工作。我想这段代码选择了数字和-符号:
^\d+-
,但我想要字符串的完全相反的部分


非常感谢您的帮助

您可以使用此正则表达式:

~^\d+ - (.+)$~
抓到被俘的第1组

或使用匹配重置
\K

~^\d+ - \K.+$~

PS:您也可以在
preg\u replace
中使用您尝试的正则表达式,如下所示:

$input = preg_replace('#^\d+ - #', '', $input);
您可以使用
()
封装要提取的子字符串(子组),并且特殊字符
匹配任何字符,因此如果您将
(.*)
添加到正则表达式模式的末尾,然后提取子组1,您应该会得到答案。