gluecode skipping skipping 'en' word 中的正则表达式
Regular expression in gluecode skipping skipping 'en' word
我有 Cucumber 的胶水代码,当字符串 'publiceren' = 'Intern en Extern':
时没有解析正确的字符串
@En('^de vacature betreft een (.*) voor (.*) en heeft de volgende gegevens: (.*), (.*), (.*), (.*), (.*) en (.*?)$')
def de_vacature_betreft_een_vacaturetype_voor_medewerker(String vacaturetype, String medewerker, String recruiter, String uren, String werkervaring, String opleiding, String achtergrond, String publiceren) {
println(publiceren)
}
我得到的结果只是 'Extern',问题似乎出在字符串的 'en' 部分。
我该如何解决这个问题?此外,这种方法是否对所有 (.*) 都正确?
根据 ,.*
将采用除新行之外的所有内容,([^\"]*)
这将采用包括新行在内的所有内容。所以,尝试 ([^\"]*)
.
试试这个:
@En('de vacature betreft een (.*) voor (.*) en heeft de volgende gegevens: (.*), (.*), (.*), (.*), (.*) en (.*)')
def de_vacature_betreft_een_vacaturetype_voor_medewerker(String vacaturetype, String medewerker, String recruiter, String uren, String werkervaring, String opleiding, String achtergrond, String publiceren) {
println(publiceren)
}
默认情况下,正则表达式是贪婪的,因此 achtergrond
的捕获组将包含 ...'publiceren' = ' Intern
。您要么必须在步骤参数周围添加分隔符(即 "
)并将它们从捕获 "([^"]*)"
中排除,要么使倒数第二个捕获组非贪婪,即 (.*?)
。
我有 Cucumber 的胶水代码,当字符串 'publiceren' = 'Intern en Extern':
时没有解析正确的字符串@En('^de vacature betreft een (.*) voor (.*) en heeft de volgende gegevens: (.*), (.*), (.*), (.*), (.*) en (.*?)$')
def de_vacature_betreft_een_vacaturetype_voor_medewerker(String vacaturetype, String medewerker, String recruiter, String uren, String werkervaring, String opleiding, String achtergrond, String publiceren) {
println(publiceren)
}
我得到的结果只是 'Extern',问题似乎出在字符串的 'en' 部分。 我该如何解决这个问题?此外,这种方法是否对所有 (.*) 都正确?
根据 .*
将采用除新行之外的所有内容,([^\"]*)
这将采用包括新行在内的所有内容。所以,尝试 ([^\"]*)
.
试试这个:
@En('de vacature betreft een (.*) voor (.*) en heeft de volgende gegevens: (.*), (.*), (.*), (.*), (.*) en (.*)')
def de_vacature_betreft_een_vacaturetype_voor_medewerker(String vacaturetype, String medewerker, String recruiter, String uren, String werkervaring, String opleiding, String achtergrond, String publiceren) {
println(publiceren)
}
默认情况下,正则表达式是贪婪的,因此 achtergrond
的捕获组将包含 ...'publiceren' = ' Intern
。您要么必须在步骤参数周围添加分隔符(即 "
)并将它们从捕获 "([^"]*)"
中排除,要么使倒数第二个捕获组非贪婪,即 (.*?)
。