这是我的字符串
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 digitsFor example:
$input = 'false albert einstein 154'; preg_match('/false\s*(.+?)\s*[0-9]+/', $input, $matches); echo $matches[1]; // 'albert einstein'更多推荐
发布评论