PHP正则表达式匹配

问题描述 投票:1回答:2

给定输入字符串"othertext ?abc.de.fgh.i moretext"和模式 Php demoOutputpreg_match_all 我想使用函数 来获取一个包含以下元素的匹配数组 .abc, .de, .fgh.i 但只是 *.abc.de.fgh.i..i 是匹配的。(测试

)
php regex preg-match-all
2个回答
5
投票

给定输入字符串 "othertext ?.abc.de.fgh.i moretext "和模式'\?(\.[a-zA-Z]*)*',我试图使用函数preg_match_all来获取一个包含.abc, .de, .fgh, ... 等元素的匹配数组。\G你可以使用

(?:\?|\G(?!^))\K\.[a-zA-Z]+

  • (?:在部分。
    • \? 非捕获组?
    • | 匹配
    • \G(?!^)
  • ) 在上一场比赛结束时确定位置,而不是在开始时确定位置。
  • \K\.[a-zA-Z]+ 密切的群体. 忘掉当前匹配的内容,而匹配

和1个以上的字符a-zA-Z。Regex演示

© www.soinside.com 2019 - 2024. All rights reserved.