[英]PHP preg_replace regex, get number between parenthesis that might or might not contain _ and - sign
这真让我发疯! 我需要一个正则表达式来从字符串中提取数字。 该数字可能包含-(减号)或_(下划线)符号,最好使用preg_replace。
示例字符串:“ 这是1个示例(文本),带有(数字)(01230_12-3) ”。
我需要提取的是(01230_12-3),但没有括号。
到目前为止,这就是我所拥有的:
$FolderTitle[$Counter]) = "This is 1 example (text) with a (number)(01230_12-3)";
$FolderNumber[$Counter] = preg_replace("/([^0-9-_])/imsxU", '', $FolderTitle[$Counter]);
preg_match()
,输出变量是必需的,因此我使用速记条件来确定是否存在匹配项,并将必要的值设置为echo。 (
然后用\\K
忘记它,然后匹配尽可能多的合格字符。 $FolderNumber[$Counter] =
\\
进行转义。 \\d
与[0-9]
相同。 代码:( 演示 )
$Counter = 0;
$FolderTitle[$Counter] = "This is 1 example (text) with a (number)(01230_12-3)";
echo preg_match("/\(\K[-\d_]+/", $FolderTitle[$Counter], $out) ? $out[0] : 'no match';
输出:
01230_12-3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.