[英]get a string php regex match
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 al br t 881 10 6 13 0 einstein 92 en stein 219 epstein 8 en 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 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爱因斯坦警告爱因斯坦
I need to get the value in between false and the number next to the words.. in the above case I require 我需要在false之间获取值和单词旁边的数字..在上面我要求的情况下
... false albert einstein 154
... => albert einstein
... 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];
Try a pattern like this: 尝试这样的模式:
false\s*(.+?)\s*[0-9]+
This will match: 这将匹配:
false
- the literal string false
false
- 文字字符串false
\\s*
- zero or more whitespace characters \\s*
- 零个或多个空格字符 (.+?)
- one or more of any character, non-greedily, captured in group 1 (.+?)
- 第1组中捕获的任何角色中的一个或多个非贪婪 \\s*
- zero or more whitespace characters \\s*
- 零个或多个空格字符 [0-9]+
- one or more decimal digits [0-9]+
- 一个或多个十进制数字 For example: 例如:
$input = 'false albert einstein 154';
preg_match('/false\s*(.+?)\s*[0-9]+/', $input, $matches);
echo $matches[1]; // 'albert einstein'
The following works for me: 以下适用于我:
$response = ".false albert einstein 154.";
$matches=array();
preg_match('/.*?false ([a-z\s]+) (?=[0-9]{3}).*/', $response, $matches);
echo $matches[1];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.