2016-03-03 67 views
0

我想了解java正則表達式,我不確定如何處理我正在嘗試解決的問題。如何在Java中創建reg ex

爲了基本目的,可以說我有一個長度爲4的單詞列表 - 這個列表中的每個單詞都是4號大小的 - (只允許小寫az,無命令,數字等),我有一個第二個26個字母的列表,減少每個循環迭代(第一次迭代26個字母,第二次大約25個字母)。我想寫一個正則表達式來獲得第二個列表中的字母,並在第一個列表中找到它。例如,如果我的第二個列表中有25個字母(例如除r以外的所有字母),我希望我的正則表達式能夠在第一個列表中找到一個四字母詞,這樣[a_z/except r] [ a_z /除r外] [a_z /除r外] [a_z /除r外]。特別是編寫正則表達式和Java正則表達式我很新,我該如何開始呢?有人能指出我正確的方向嗎?

+0

閱讀[this](http://www.tutorialspoint.com/java/java_regular_expressions.htm)和[this](https://docs.oracle.com/javase/7/docs/api/java/util /regex/Pattern.html)。 – Scar

+0

你可以請分享你到目前爲止嘗試做到這一點嗎 – ManthanB

+0

爲什麼你想要正則表達式呢?這可能是可能的;但是如果你需要兩個完整的段落來描述需求......我有模糊的感覺,任何合適的正則表達式都會非常複雜。是的,正則表達式是「密集的」和「冗長的」;但他們也很難閱讀;並保持一段時間。所以,如果你正在談論真正的產品代碼,那將存在一段較長的時間(而不是一些學習任務);那麼你可能會更好地「解碼」解決方案;而不是將高度複雜的正則表達式拉到一起。 – GhostCat

回答

5

您可以使用第二個字符串編譯正則表達式,如下所示。第二個字符串按照該問題具有所有字母專家'r'。

String secondString = "abcdefghijklmnopqstuvwxyz"; 
    String regex = "["+secondString+"]{4}"; 
+0

我的歉意,我誤解了這個問題。 – Neil

0

試試這個:

([a-z&&[^r]]{4}) 

在每次迭代中,你必須與R中的括號內添加的字符。