我想選擇一些與正則表達式匹配的文件。 文件是例如:爲什麼找到-regex不接受我的正則表達式?
4510-88aid-50048-INA.txt
4510-88nid-50048-INA.txt
xxxx-05xxx-xxxxx-INA.txt
我要匹配這個正則表達式的所有文件:
.*[\w]{4}-05(?!aid)[\w]{3}-[\w]{5}-INA\.txt
在我看來,這必須要在上述情況xxxx-05xxx-xxxxx-INA.txt
。 使用像RegexTester這樣的工具,一切都很完美。 使用bash命令find -regex
似乎不適合我。 我的問題是,爲什麼?
我想不通,我使用:
find /some/path -regex ".*[\w]{4}-05(?!aid)[\w]{3}-[\w]{5}-INA\.txt" -exec echo {} \;
但印什麼...任何想法?
$ uname -a
Linux debmu838 2.6.5-7.321-smp #1 SMP Mon Nov 9 14:29:56 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux
並不是所有的正則表達式引擎等。語法和功能更改。我不確定'find'是否支持java正則表達式語法(這是你測試的)。它可能不會。 –
爲什麼你一開始就有'。*'?看起來不像你需要的那樣。 –
。*用於上述示例中的文件名之前的文件路徑 – Tobias