假设我在一个文本文件中有一个足球俱乐部名称列表,每行有一个名字。
Arsenal
Manchester United
Chelsea
Liverpool
...
...
Manchester City
Real Madrid
假设我需要找到以" Manchester"开头的行,我在正则表达式下面。
Pattern clubman = Pattern.compile("Manchester.*");
Matcher matche = clubman.matcher(fileString);
if (matche.find()) {
System.out.println("Manchester club is :"
+ matche.group(0));
}
但是我只需匹配匹配正则表达式的第一行,即Manchester United
。
但Pattern.compile
正在寻找最后一场比赛,即Manchester City
。
如何只获得与正则表达式匹配的第一行?
答案 0 :(得分:1)
不要使用正则表达式。没有理由,这只会让你的问题变得更难。只需遍历文件中的每一行,然后执行类似
的操作 // -------------- Defining BrandsOfCategories Entity --------------- //
modelBuilder.Entity<BrandCategory>()
.HasKey(input => new { input.BrandId, input.CatId })
.HasName("BrandsOfCategories_CompositeKey");
modelBuilder.Entity<BrandCategory>()
.Property(input => input.DeletedAt)
.IsRequired(false);
// -------------- Defining BrandsOfCategories Entity --------------- //
public class BrandCategory
{
public int CatId { get; set; }
public int BrandId { get; set; }
public DateTime? DeletedAt { get; set; }
public Category Category { get; set; }
public Brands Brand { get; set; }
}
答案 1 :(得分:0)
要检查是否应该使用匹配项
groupCount()。
您正在使用找到下一个匹配项的find(),因此程序将打印第二个匹配项。