2016-03-03 61 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中的括号内添加的字符。