提取值我有;#<number>;#
分离为一个字符串:需要的preg_match的精确模式在PHP
aaaa;#112;#bbbb;#113;#cccc;#112;#dddd
我想找到所有aaaa
,bbbb
等阵列使用preg_match()
。
正则表达式模式应该是什么?
我试图至今:
preg_match('/\;\#(?:[0-9]+)?/', $franchCont, $matches);
提取值我有;#<number>;#
分离为一个字符串:需要的preg_match的精确模式在PHP
aaaa;#112;#bbbb;#113;#cccc;#112;#dddd
我想找到所有aaaa
,bbbb
等阵列使用preg_match()
。
正则表达式模式应该是什么?
我试图至今:
preg_match('/\;\#(?:[0-9]+)?/', $franchCont, $matches);
你试图通过分隔符分裂;所以preg_split
更适合使用功能:
$parts = preg_split('/;#\d+;#/', $string);
你可以使用拆分,或匹配。
既然你问了一下比赛,一个办法是
https://regex101.com/r/P5MPDf/1
(?:;#\d+;#(*SKIP)(*FAIL)|(?:(?!;#\d+;#).)+)
解释
(?:
;\# \d+ ;\# (*SKIP) (*FAIL) # Consume, but fail the delimiter
| # or,
(?: # Get all up until the delimiter
(?! ;\# \d+ ;\#)
.
)+
)
'match'?为什么不“分裂”? 'preg_split('/;#\ d +;#/',$ string)' – falsetru
@falsetru,是的,它的工作,并再次感谢:) – aniruddha
我想与:preg_match('/ \; \#(?:[0 -9] +)?/',$ franchCont,$ matches);但是@falsetru建议的preg_split为我工作 – aniruddha