2016-03-01 133 views
1

环境:Windows 7 + XAMPP的Windows 5.6.15PHP搜索文件夹的名称

我需要寻找匹配的模式之一,从这两

    子文件夹的文件夹
  • E*.mysoftware.swl.px64
  • E*.r*.mysoftware.swl.px64

因此,这些都是集合的子文件夹,我需要选择

E0234.mysoftware.swl.px64 
E0235.mysoftware.swl.px64 
E0236.mysoftware.swl.px64 
E0236.r2.mysoftware.swl.px64 
E0237.mysoftware.swl.px64 
E0237.r2.mysoftware.swl.px64 
E0237.r3.mysoftware.swl.px64 

这些不应该选择

E0237.A.mysoftware.swl.px64 
E0237.b3.mysoftware.swl.px64 

我的问题是我该怎么办只用一个模式这个搜索?

+0

是的,您将不得不像我在[regex](https://regex101.com/r/tD5tW2/1)中那样使'r *'部分可选。这是你想要的 ?你使用'regex'或[glob](http://php.net/manual/en/function.glob.php)来使用 – 2016-03-01 03:43:04

+0

吗? – roullie

+0

我使用'GlobIterator' –

回答

3

你正在做的是使.r*部分可选,我已经完成了使用以下正则表达式。

正则表达式:使用E\d*(\.r\d*)?\.mysoftware\.swl\.px64$

标志:

  • g全局搜索。

  • m用于多行搜索。

说明:

  • (\.r\d*)?这使得.r*部分可选的,两个图案的从而便于搜索在一个正则表达式。

Regex101 Demo

+0

这接近我的要求。但是这符合'E0236.mysoftware.swl.px64_test'。有没有办法避免? –

+0

所以你不想在最后使用'_text'来匹配字符串?是否有更多规则需要遵守?我编辑了我的答案,以适应您最近的规则。 – 2016-03-01 04:16:09

相关问题