擅长:python、mysql、java
<p>您可以用这种方式组合两个regexp。这个例子是基于@ZdaR提出的解决方案的一个替代方案。在</p>
<pre><code>import re
directories = ["dir1/subdirA", "dir2/subdirB", "dir1/subdirB", "subdir9/dirC"]
regexp = re.compile('^(dir[1-9])\/(subdir[A-Z])$', re.I)
for path in directories:
frag = regexp.match(path)
if frag != None:
dir_str = frag.group(1)
subdir_str = frag.group(2)
entire_match = frag.group(0)
# Do something with them
</code></pre>
<p>请注意regexp中的括号。这些括号允许在regexp中定义几个组,因此可以在match对象上使用group(n)方法获得每个匹配的片段。在</p>
<p>此regexp假定每个路径的长度仅为2</p>
<p>(例如:“dir/subdir”而不是“dir/subdir/subdir”)</p>
<p>我希望这会有帮助。在</p>