PHP preg_替换正则表达式,获取括号之间可能包含或可能不包含u和-sign的数字
这简直快把我逼疯了!我需要一个正则表达式来从字符串中提取数字。数字可能包括-(减号)或(下划线)符号,最好使用preg_替换 示例字符串:“这是一个带有(数字)(01230_12-3)的示例(文本)” 我需要提取的是(01230_12-3),但没有括号 到目前为止,我的情况如下:PHP preg_替换正则表达式,获取括号之间可能包含或可能不包含u和-sign的数字,php,regex,preg-replace,Php,Regex,Preg Replace,这简直快把我逼疯了!我需要一个正则表达式来从字符串中提取数字。数字可能包括-(减号)或(下划线)符号,最好使用preg_替换 示例字符串:“这是一个带有(数字)(01230_12-3)的示例(文本)” 我需要提取的是(01230_12-3),但没有括号 到目前为止,我的情况如下: $FolderTitle[$Counter]) = "This is 1 example (text) with a (number)(01230_12-3)"; $FolderNumber[$Counter] = p
$FolderTitle[$Counter]) = "This is 1 example (text) with a (number)(01230_12-3)";
$FolderNumber[$Counter] = preg_replace("/([^0-9-_])/imsxU", '', $FolderTitle[$Counter]);
- 当使用
时,需要一个输出变量,因此我使用一个速记条件来确定是否存在匹配,并将必要的值设置为echopreg_match()
- 您需要匹配前导的
,然后用(
忽略它,然后匹配尽可能多的限定字符\K
- 这些图案修改器都不是必需的,所以我删除了它们
- 您可以用您的
$FolderNumber[$Counter]=
- 模式中的前括号必须用
转义\
与\d
相同[0-9]
01230_12-3
我们在@Leon做得怎么样?你的项目中有没有我的答案不适用的输入字符串?多亏了这一点,我现在开始对整个regex魔法有了更多的了解。这个例子由于某种原因没有被理解;“Naar huis遇到pijnstillers na een operatie Afd麻醉学(0000485-08_16)(麻醉学)(vier TABEL)”我的错,在那之前我又换了一个pre_,它很有魅力!谢谢你的教训!)
01230_12-3