Java 如何使用Reg-ex查找一组单词?
代码如下:Java 如何使用Reg-ex查找一组单词?,java,regex,Java,Regex,代码如下: String Str ="Animals \n" + "Dog \n" + "Cat \n" + "Fruits \n" + "Apple \n" + "Banana \n" + "Watermelon \n" + "Sports \n" + "S
String Str ="Animals \n" +
"Dog \n" +
"Cat \n" +
"Fruits \n" +
"Apple \n" +
"Banana \n" +
"Watermelon \n" +
"Sports \n" +
"Soccer \n" +
"Volleyball \n";
Str
基本上有3类(动物、水果、运动)。他们每一个人都排成一行。使用正则表达式,我如何找到水果的内容,它将提供如下输出:
Apple
Banana
Watermelon
我想要一个与你的答案相一致的解释,这样我就可以更好地理解这个问题
谢谢。:) 我首先将字符串拆分为一个单词数组(
string[]words=Regex.Split(Str,“\n”);
),然后循环遍历单词
数组,将元素添加到适当的类别中,在标题所示的类别之间切换。假设要提取“水果”和“运动”之间的文本,可以使用带有。这样,如果字符串匹配,则仍然必须提取包含所需文本的字符串
例如:
Pattern p=Pattern.compile(“水果(.*)运动”,Pattern.DOTALL);
//字符串“Fruits”---^^^^
//捕获介于之间的所有内容--^^^
//字符串“Sports”---------------^^
//这告诉正则表达式处理换行符^
//像普通人一样---------------------^
见下文:
或者,您可以使用更高级的正则表达式。这意味着你可以让你的正则表达式仍然在“水果”和“体育”两个词之间寻找文本,但是不要把这些字符串看作是匹配的一部分。
Pattern p=Pattern.compile((?Regex不知道水果是什么:)@jitendra请解释一下为什么\p{fruit}+
不起作用。@贾维尔我的意思是,Regex无法分辨苹果是水果。而且,我是在讽刺。如果没有区分类别(水果、运动)的标记的话从普通实体来看,实施可能会有所改进。谢谢。这是迄今为止我收到的最好的回复。我想我现在已经理解了这个概念。:)