我想为文档过滤特定的关键字,例如:
ausschreibungs id|ausschreibungs-id|ausschreibungsid|ausschreibungsnummer|chiffre nummer|chiffre-nummer|chiffrenr.|chiffre nr.|chiffre-nr.|chiffrenummer|chiffre code|chiffre-code|chiffrecode|chiffre|job-id|job-nr.|job-nr|job id|job nr.|jobnummer|jobnr.|jobid|jobcode|job nr.|ziffer|kennziffer|kennz.|referenz code|referenz-code|referenzcode|ref. nr.|ref. id|ref id|ref.id|ref.-nr.|ref.- nr.|referenz nummer|referenznummer|referenz nr.|referenz-nr.|referenznr.|referenz|referenznummer der stelle|id#|id #|stellenausschreibung nr.|stellenausschreibung nr|stellenausschreibungs nr.|stellenausschreibungs-nr.|stellenausschreibungsnr.|stellenangebots id|stellenangebots-id|stellenangebotsid|stellen id|stellen-id|stellenid|stellenreferenz|stellen-referenz|ref.|st.nr.|stellennumer|st.-nr.|st. nr.|kenn-nr.|positionsnummer|kennwort|stellenkey|stellencode|job-referenzcode|bewerbungskennziffer|projekt id|projekt-id|reference number|reference no.|reference code|job code|job id|job vacancy no.|job-ad-number|auto req id|job ref|kennziffer|
通常,在这些关键字之后,应使用带有小数,特殊字符或字母字符的怪异字符串,例如“ AE_0394-33”或类似字符,它也可以是普通单词等,但通常情况下,十进制数字会非常通常(或至少一次)在该字符串中...
我想根据可能的信号关键字列表之后的所有内容过滤文档(后跟一个空格,然后是一个奇怪的字符串,再跟另一个空格)。我要过滤的匹配字符串通常是整个字符串,中间没有空格。
我还有一个停用词列表,我的想法是删除所有停用词之后的单词或句子,以减少可能匹配项的候选数量,直到出现“。”。来(结束句子)。
这些停用词列表可能是:
der|des|das|die|dem|den|ein|eine|diese|diese|dieser|es|sie|wir|unser|ihr|dein|nr|und|hier|oder|wie|an|angeben|mitteilen|id|nicht|einsatzort|bereit|vorzugsweise|ausschließlich|nummer|hiermit|für|auf|was|code|nr.|#||bzw.|via|von|zu|Anzahl|zum|zur|bis|ab|gerne||job|+49|tel|telefon|fax|plz|hausnr.|hausnummer|email|e-mail|veröffentlichung|veroeffentlichung|
我在制定正则表达式时遇到了一个问题,要考虑到关键字后面的单词,否则要过滤掉那些停用词之后的单词或句子...
我正在考虑前缀停用词或关键字的列表,然后我在关键字之后采用一个单词边界,或者采用一堆单词直到小数点“”。出现...
我在这里尝试正则表达式: https://regex101.com/r/peHT1v/1
是关键字,但是我不知道如何将这些单词标记为交替单个单词的前缀列表,然后是另一个单词?
例如:
[list, of , keywords] *whitespace* \s+(.*)\s+
<-其中(\s+.*\s+)
是我的单词边界捕获组匹配字符串,甚至是整个句子,直到“。”跟随
我再举一个例子:
Referenznummer: INDUSTRY Kontakt: ZAsdfsdfS Herr Andrafgdh Neue Str. 7 21244 Buchholz +42341 22322 mdjob.bu44lz@zaqusssis.de Stellenanzeige teilen: Jetzt online bewerben! oder bewerben Sie sich mit
我想拥有INDUSTRY
,因为其后跟关键字“ Referenznummer”
"Geben Sie bei Ihrer Bewerbung die Stellenreferenz und die Stellenbezeichnung an!\n" +
"Stellenreferenz: 21533448-JOtest\n" +
我想要21533448-JOtest
,因为它后跟一些关键字“ Stellenreferenz”
Stellenausschreibung Nr. PD-666/19
我想要PD-666/19
Parkwe 103 33 / sss968 Kasn
"FFFF\r\n"
"E-Mail: Test.Ticfffsssis-Jsdf741@drbsdfil.deeddilProtedddctor.adasdilto(\"ep_5b0224b6\", 1);
"Tel: (33 21) 23 42 117-3 \r\n" +
"Jetzt bewerben
" 2018-12-04 nicht-medsdfs asfal";
我什么也不想,甚至删除了那些停用词(例如“电话”和“电子邮件”)之后的整个句子,以使其他关键字的过滤更加容易/清晰...
答案 0 :(得分:1)
关于您的更新。您可以使用
(?:Stellenreferenz:|Referenznummer:|Stellenausschreibung Nr\.)\s*(\S+)
请参见regex demo
详细信息
(?:Stellenreferenz:|Referenznummer:|Stellenausschreibung Nr\.)
-与您定义的停用词匹配的非捕获组\s*
-超过0个空格(\S+)
-第1组:一个或多个非空白字符。String s = "Referenznummer: INDUSTRY Kontakt: ZAsdfsdfS Herr Andrafgdh Neue Str. 7 21244 Buchholz +42341 22322 mdjob.bu44lz@zaqusssis.de Stellenanzeige teilen: Jetzt online bewerben! oder bewerben Sie sich mit\n" +
"Geben Sie bei Ihrer Bewerbung die Stellenreferenz und die Stellenbezeichnung an! \n" +
"Stellenreferenz: 21533448-JOtest\n\n" +
"Stellenausschreibung Nr. PD-666/19";
Pattern pattern = Pattern.compile("(?:Stellenreferenz:|Referenznummer:|Stellenausschreibung Nr\\.)\\s*(\\S+)");
Matcher matcher = pattern.matcher(s);
while (matcher.find()){
System.out.println(matcher.group(1));
}
输出:
INDUSTRY
21533448-JOtest
PD-666/19