Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我怎么写这个图案?_Java_Regex - Fatal编程技术网

Java 我怎么写这个图案?

Java 我怎么写这个图案?,java,regex,Java,Regex,我目前正在开发一个从一个巨大的文本文件中提取某些字母的类,而我似乎无法为它创建一个合适的模式来跟踪我想要的内容。 我使用的模式是: Pattern p = Pattern.compile("'[A-Z ]'|'[.]'"); 当搜索类似以下内容时:('L','O','B','I') ,我的Matcher返回'L'O'B'I'(我使用它在StringBuilder中存储每个匹配项),但不返回空间,我需要它 我为任何演示文稿的缺陷道歉,但我仍然习惯于在这里提问 编辑: 我想得到的是填字游戏的答案

我目前正在开发一个从一个巨大的文本文件中提取某些字母的类,而我似乎无法为它创建一个合适的模式来跟踪我想要的内容。 我使用的模式是:

Pattern p = Pattern.compile("'[A-Z ]'|'[.]'"); 
当搜索类似以下内容时:('L','O','B','I') ,我的Matcher返回'L'O'B'I'(我使用它在StringBuilder中存储每个匹配项),但不返回空间,我需要它

我为任何演示文稿的缺陷道歉,但我仍然习惯于在这里提问

编辑: 我想得到的是填字游戏的答案。我有一个类,它从纵横字谜中获取代码并将其保存在文本文件中。之后,我想运行此代码以获得答案,其组织方式如下:

L[0] = new Array('S','O','L','O','M','I','L','L','O','','B','I','B','L','I','O','','C','A','O');
L[1] = new Array('A','R','T','R','O','S','E','','D','I','N','A','M','I','T','E','','E','U','');
L[2] = new Array('R','C','P','','R','I','C','A','','','','','','','','','','','','');
L[3] = new Array('R','A','','','A','S','A','','A','N','O','R','M','L','','P','U','T','I','N');
L[4] = new Array('O','','','','T','','','','','','','','','','','','','','','');
L[5] = new Array('','','','','O','','','','','','','','','','','','','','','');
我需要空格来分隔一个答案和另一个答案,当前我的类返回的输出是

SOLOMILLOBIBLIOCAOARTROSEDINAMITEEURCPRICARAASAANORMLPUTINOTO`
在我删除了所有多余的不需要的符号之后。 我需要它返回的是:

SOLOMILLO BIBLIO CAO ARTROSE DINAMITE EU RCP RICA RA ASA ANORML PUTIN O T O
你可以

  • 将空的
    '
    替换为
    '
    (内部有空格)`
  • '
    包围的所有字符(包括空格)添加到StringBuilder中(您似乎已经有了此步骤,
    '([A-Z])”
    在这里可能还可以)
  • 将生成器转换为字符串
  • 修剪以删除起点和终点处的空格
  • 用一个空格替换两个或多个空格(
    replaceAll(\\s{2,},“”)
    可能有用)

如果您还想添加空格以分隔每个行的结果,请考虑分别解析每行并在每个解析行之后添加空间。


您似乎对您要查找的内容有点困惑。一方面,您希望查找A-Z或空格。另一方面,您希望查找任何角色。条件的第二部分包括第一部分。您可以使用以下方法获得您想要的:

Pattern p = Pattern.compile("'.*?'"); 

也许你能更好地定义你想要达到的目标?某些字母很模糊。你能告诉我们你是如何使用这种图案的吗?顺便说一句,
'[A-Z]'.[.]'
可以重写为可能更可读的
'[A-Z.]'
。另外,您问题中的输入似乎没有任何空格被
'
包围。您能提供一些示例文本和预期结果吗?您的字符串中有一个
'
,在
'
中有一个空字符串。如果还需要提取空字符串,可以将
量词(0或1次)与
[a-Z.]
字符类一起使用:
“'[a-Z.]?”
。谢谢,现在可以了,但显然我删除不需要的字符的方法也是删除空格。我正在像这样删除它们:String[]list=s.split(“[']”)。你知道如何让空格也出现吗?@Azerog我不太确定你想通过这个拆分实现什么。无论如何,我用代码示例的链接更新了我的答案。很抱歉,我以前没有注意到。谢谢。@Azerog没有什么可道歉的:)我把那个链接放在了你的评论之后。