首先,我要感謝任何花時間閱讀我的文章的人。REGEX匹配filenname約定
那麼,我是正則表達式世界的新手,我可以創建非常基本的REGEX,但現在我想跳轉到更復雜的一個。
目的是僅匹配那些文件名至極METS下一命名約定:
文件名應具有一定的炭組合開始,那麼它應該跟隨任意4個數字,然後下劃線。我不需要關心文件名的其餘部分。
有作爲文件名的開頭一定的有效組合,讓說:
ABCD
HIJK
是爲文件名的唯一有效起始字符串。
例如,下一個字符串是有效的:
ABCD9403_XXXXXXXXXXXX.XXX
(因爲它與ABCD開頭,則4位數字,然後下劃線) HIJK6701_xXxXxX.xXx
(因爲它與HIJK開頭,則4位數字,然後下劃線)
但是,接下來的那些無效:
AMCD6987_xxxxxx.xxx
(因爲AMCD不匹配任何有效的起始串以上的:ABCD或HIJK)
HIJK12F2_xxxxxxx.xxx
(它以一個有效的字符串(HIJK),但接下來的部分不包含4個數字(它包含一個F代替))
ABCD9547-21654sdasd321.321asd
(它配襯的有效起始串和4個數字中的一個,但它不匹配下劃線。
我打算使用Java對其進行編碼。
我希望有人能幫助我。
所有的建議都被廣泛接受。
感謝大家。
您是否試圖解決'正則表達式'。如果是,那麼你可以展示給我們。也讓我們知道你在哪裏面臨問題。 – Smit
Hello @Smit。我試圖測試你們發給我的建議。我正在嘗試在線java測試人員,因爲我不在我的個人計算機上編寫代碼。但是,我無法使用此匹配,例如:http://java-regex-tester.appspot.com/ – JoseTlaseca
它現在有效。我嘗試使用[link] http://myregextester.com/index.php並標記了Java複選框,它向我展示了內部生成的代碼的預覽,並且我注意到「\\」導致它不適用於我因爲它試圖與下一個模式匹配: 'code'Pattern。編譯(「^(ABCD | HIJK)\\\\ d {4} _」);'代碼' 所以我刪除了兩個「\」之一,它工作得很好。 所有的建議都適用於我的案例,不幸的是我不能將所有標記爲有效的,因此我決定將我的投票給予@barnesjd,讓他逐步解釋他的時間。 謝謝你們! – JoseTlaseca