PHP preg_place正则表达式,获取括号之间可能包含也可能不包含_和-符号的数字 [英] PHP preg_replace regex, get number between parenthesis that might or might not contain _ and - sign

查看:17
本文介绍了PHP preg_place正则表达式,获取括号之间可能包含也可能不包含_和-符号的数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这快把我逼疯了!我需要一个正则表达式来从字符串中提取数字。数字可以包括-(减号)或_(下划线)符号,最好使用preg_place。

示例字符串:"This is 1 Example(Text)with a(Number)(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()时,输出变量是必需的,因此我使用速记条件来确定是否匹配,并为回声设置必要的值。
  • 您需要将前导(然后忘记K匹配,然后匹配尽可能多的限定字符。
  • 这些模式修饰符都不是必需的,所以我删除了它们。
  • 您可以用您的$FolderNumber[$Counter] =
  • 替换我的回声
  • 模式中的前导括号必须用转义。
  • d[0-9]相同。

编码:(Demo)

$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

这篇关于PHP preg_place正则表达式,获取括号之间可能包含也可能不包含_和-符号的数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆