得到一个字符串php正则表达式匹配(get a string php regex match)

编程入门 行业动态 更新时间:2024-10-11 21:25:31
得到一个字符串php正则表达式匹配(get a string php regex match)

这是我的字符串

0 12 10 0 5 0 albert 126 al br t 881 alert 58 a lbr t 317 apart 251 al b rt 284 ambit 165 a lb rt 9 album 93 al br t 881 10 6 13 0 einstein 92 en stein 219 epstein 8 en stein 335东部62恩塞恩317 enshrin 13 en st ein 231 enseign 3 ens tei n 203 false albert einstein 154 albert einstein(al br t)einstein 1030 al be t einstein albert(en stein)318 albert en stein albert epstein 134 albert epstein alert爱因斯坦警告爱因斯坦

我需要在false和字旁边的数字之间得到值..在上面我要求的情况下

... false albert einstein 154 ... => albert einstein

我尝试了下面的正则表达式匹配,但它不起作用。 我在这里想念的是什么?

$matches=array(); preg_match('/false=([a-z]+)\[0-9]+/', $response, $matches); echo $matches[1];

here is my string

0 12 10 0 5 0 albert 126 al br t 881 alert 58 a lbr t 317 apart 251 al b rt 284 ambit 165 a lb rt 9 album 93 a l br t 881 10 6 13 0 einstein 92 en stein 219 epstein 8 e n stein 335 eastern 62 ens t ein 317 enshrin 13 en st ein 231 enseign 3 ens tei n 203 false albert einstein 154 albert einstein (al br t) einstein 1030 al br t einstein albert (en stein) 318 albert en stein albert epstein 134 albert epstein alert einstein 139 alert einstein

I need to get the value in between false and the number next to the words.. in the above case I require

...false albert einstein 154... => albert einstein

I tried the below regex match, but its not working. What am I missing here?

$matches=array(); preg_match('/false=([a-z]+)\[0-9]+/', $response, $matches); echo $matches[1];

最满意答案

尝试这样的模式:

false\s*(.+?)\s*[0-9]+

这将匹配:

false - 文字字符串false \s* - 零个或多个空白字符 (.+?) - 第1组中捕获的任何角色中的一个或多个,非贪婪 \s* - 零个或多个空白字符 [0-9]+ - 一个或多个十进制数字

例如:

$input = 'false albert einstein 154'; preg_match('/false\s*(.+?)\s*[0-9]+/', $input, $matches); echo $matches[1]; // 'albert einstein'

Try a pattern like this:

false\s*(.+?)\s*[0-9]+

This will match:

false - the literal string false \s* - zero or more whitespace characters (.+?) - one or more of any character, non-greedily, captured in group 1 \s* - zero or more whitespace characters [0-9]+ - one or more decimal digits

For example:

$input = 'false albert einstein 154'; preg_match('/false\s*(.+?)\s*[0-9]+/', $input, $matches); echo $matches[1]; // 'albert einstein'

更多推荐

本文发布于:2023-08-05 18:12:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1437211.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   正则表达式   php   match   string

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!