【发布时间】:2011-01-16 08:59:45
【问题描述】:
所以我试图在 php 中形成一个 PCRE 正则表达式,专门用于 preg_replace,它将匹配构成文本(.txt)文件名的任意数量的字符,从中我将派生文件的目录.
我最初的方法是定义终止的 .txt 字符串,然后尝试在除 / 或 \ 之外的每个字符上指定一个字符匹配,所以我最终得到如下内容:
'/[^\\\\/]*\.txt$/'
但这似乎根本不起作用,我认为它可能将否定解释为 demorgan 的形式又名: (A+B)' A'B'
但是在尝试了这个测试之后:
'/[^\\\\]\|[^/]*\.txt$/'
我得出了同样的结果,这让我觉得我不应该逃避 or 运算符(|),但这也不匹配。有谁知道我做错了什么?
【问题讨论】:
标签: php filepath regex-negation backslash