gpt4 book ai didi

Java 正则表达式,过滤文档以获取信号词和停用词列表

转载 作者:行者123 更新时间:2023-11-30 05:37:51 25 4
gpt4 key购买 nike

我想过滤文档中的特定关键字,例如:

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";

我什么都不想,甚至删除“电话”和“电子邮件”等停用词后面的整个句子,以使其他关键字的过滤更容易/清晰......

最佳答案

关于您的更新。你可以使用

(?:Stellenreferenz:|Referenznummer:|Stellenausschreibung Nr\.)\s*(\S+)

请参阅regex demo

详细信息

  • (?:Stellenreferenz:|Referenznummer:|Stellenausschreibung Nr\.) - 与您定义的任何停用词匹配的非捕获组
  • \s* - 0+ 个空格
  • (\S+) - 第 1 组:一个或多个非空白字符。

Java test :

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

关于Java 正则表达式,过滤文档以获取信号词和停用词列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56257062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com