我有一个或多或少有2000个字符的字符串,其中包含URL(URL的铁路)。我想用regex从这个URL中获取特定的值,但我不知道如何使用它们。
字符串的一部分是这样的:
$string = [...]http://localhost/project/gallery/http://localhost/project/case/category#/img#/case#/http://localhost/project/case/category#/img#/case#/http://localhost/project/sitemap[...]
我想要的是为(例如:"主类别/45/main/"answers"辅助类别/51/id12")的每一个不同类别、图像和/或事例获得与category#/img#/case#/匹配的所有内容。
如果类别#超过1个单词,则它与一个"-"(例如:"main category")连接。
img#总是一个2到3位数的数字(例如:"45")
大小写#从纯文本(如果超过1个单词,则用"-"连接)到4到5个字符长的字符串,其中前两个字符为"id",其他2到3个字符为数字(eg1:"主大小写",eg2:"id45")。
需要注意的一点是,如果这对任何人都有帮助的话,那就是我想要得到的是总是在事例/之后。
我想要不包含带子字符串等循环的答案/回复。
您可以使用此正则表达式来匹配您的输入URI:
'~/case/([^/]+)/('d{2,3})/([^/]+)/~i'
匹配组#1作为类别,组#2作为img#,组#3作为案例3
工作演示:http://ideone.com/xrsVtf