Heim > Backend-Entwicklung > PHP-Tutorial > 正则表达式难题

正则表达式难题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-23 14:02:12
Original
1145 Leute haben es durchsucht

1

<?php$a="a11ba12b";preg_match_all("/(a[^b]+b){2}/is",$a,$tmp);var_dump($tmp);?>

Nach dem Login kopieren


得出的结果是

1

array(2) {  [0]=>  array(1) {    [0]=>    string(8) "a11ba12b"  }  [1]=>  array(1) {    [0]=>    string(4) "a12b"  }}

Nach dem Login kopieren



现在要问的是,如何操作使得使用{}中括号表示法,但是[1]中是= a11b,而不是 [1]=a12b,


回复讨论(解决方案)

\G?

1

$a="a11ba11b";    preg_match_all("/\G(a[^b]+b){2}/i",$a,$tmp);    var_dump($tmp);

Nach dem Login kopieren

..baoqian
貌似错的

不如指定贪婪模式
preg_match_all("/(a[^b]+b)+/iU",$a,$tmp);

坐等大牛回答。

我就是在研究大括号,哈哈

这样? 你到底要干啥子吗

1

<?php$a="a11ba12b";preg_match_all("/(a[^b]+b)a[^b]+b/is",$a,$tmp);var_dump($tmp);

Nach dem Login kopieren

我就是在研究大括号,哈哈
这有什么可研究的?规矩就是规矩
{ 最少/最多数量限定开始 
} 最少/最多数量限定结束 

虽然规则有时不尽合理,但并不会因你而改变

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage