Java [[类别:文本|*]]的正则表达式
用这个正则表达式\[\[Category:..*?\]\]在java中解析这个文本[[Category:sometext]],它给了我一些文本 但在某些情况下,像这样的文本[[Category:sometext |*]]额外的字符是| pipe和| star 有时两个字符都是未来文本|*,有时只有一个是未来文本|,text*,我不知道如何用正则表达式解析它Java [[类别:文本|*]]的正则表达式,java,regex,string,Java,Regex,String,用这个正则表达式\[\[Category:..*?\]\]在java中解析这个文本[[Category:sometext]],它给了我一些文本 但在某些情况下,像这样的文本[[Category:sometext |*]]额外的字符是| pipe和| star 有时两个字符都是未来文本|*,有时只有一个是未来文本|,text*,我不知道如何用正则表达式解析它 预期结果:sometext您可以只在。*之后添加这些字符?然后应用程序?量化每个事件一次或零次,使其成为可选的: \[\[Category:
预期结果:sometext您可以只在。*之后添加这些字符?然后应用程序?量化每个事件一次或零次,使其成为可选的:
\[\[Category:(.*?)\|?\*?\]\]
看
:
这是不清楚的-你希望在这种情况下的结果是什么?
String s = "[[Category:sometext]]\n[[Category:sometext|*]]\n[[Category:sometext|]]\n[[Category:sometext*]]";
String rx = "\\[\\[Category:(.*?)\\|?\\*?\\]\\]";
Pattern p = Pattern.compile(rx);
Matcher matcher = p.matcher(s);
while (matcher.find())
System.out.println(matcher.group(1));