php - preg_match 检测到特定字符后从字符串中获取特定数字
问题描述
我想在字符串“NPWP”之后剪切数字,然后取所有数字。
有时我有一个这样的字符串:
$valueDetail['DTL02CNA'] = NPWP:016386112436000 JALAN ELANG DESA SUKAHATI CITEUREUP BOGOR 16810, INDONESIA TEL:+62(21)8765105
有时像这样:
$valueDetail['DTL02CNA'] = NPWP 314633389431000 DELTA SILICON INDUSTRIALL PARK 3 JL PINANG F 16/25A, CICAU CIKARANG PUSAT, CITY: BEKASI, JB 17550 INDONESIA
从上面的例子中,我需要这样的结果:
016386112436000
314633389431000
现在,我只知道如何识别它
<?= preg_match("/npwp/i", $valueDetail['DTL02CNA'] ) ? '<label class="label label-success">NPWP Is Exist</label>' : 'Tidak Ada NPWP' ?> <br>
解决方案
从字符串的开头开始匹配^
,匹配NPWP
后跟一个可选的冒号:?
和零个或多个空白字符\s*
。
然后您可以使用\K
重置报告匹配的起点并匹配一位或多位数字\d+
:
另一种选择可能是在第一个捕获组中匹配捕获您的值(\d+)
:
推荐阅读
- kubernetes - 自动驾驶模式下 GKE 上的 Istio
- javascript - 将 Base64 格式的照片作为 BLOB 添加到 FormData
- node.js - 如何使用 react-admin 中的参考文件在猫鼬中启用排序和过滤
- amazon-web-services - 在 ECS (AWS) 中更新服务后 CodeDeploy 不会自动运行
- html - 如何使用服务器将我的文件存储在我的网站中?
- javascript - AWS Cloudfront Lambda@Edge 奇怪的异步/回调用法
- java - 有没有办法定义 cdi 销毁实例的顺序?
- jquery-validate - 根据下拉选择更改文本框上的正则表达式验证
- javascript - 如何使用 vanilla JavaScript 检测和显示 WiFi 信号强度
- javascript - 获取两个div的实时位置并更新连接线