繁体   English   中英

匹配不是按日期开头的行

[英]Matches lines not starting by Date

我从pdf文件中提取了一些文本,我正在寻找一些与工作职位相匹配的关键字,我尝试使用许多正则表达式仅获取不是以日期开头的行(任何日期格式),但我必须获取其他行以任何其他数字或单词开头的单词。

我希望在这里找到一个聪明的主意。 最好

key word without any success : 我已经尝试过这两个正则表达式来找到关键字,但没有成功:


    ((?m)^(?![0-9])\\s*\\b"+ sTofind +"\\b)

而且这个还:


    ((?m)[^(?!(0-9))][\\s{2,4}]\\b"+ sTofind +"\\b.*)

我使用的文本测试就是这个测试(字符不是文本的一部分):

etudiant -: ingenieur etudes et developpement
http://www.doyoubuzz.com/profilen
experiences  
ingenieur
2018-2014      ingenieur 
331    ingenieur


29 rue de la terrasse    Ingenieur Centrale Lyon / Supélec 
93160 NOISY LE GRAND    ingenieur  
09 66 11 10 93       Expertise en instrumentation industrielle, 
06 44 25 90 09     automatisation ingenieur & marketing opérationnel 
email.email@wanadoo.fr   Bilingue anglais  ingenieur

我希望找到突出显示的文本:

etudiant -: <i>ingenieur etudes et developpement</i>
http://www.doyoubuzz.com/profilen
<i>experiences</i>
<i>ingenieur</i>
2018-2014      ingenieur 
331    <i>ingenieur</i>


29 rue de la terrasse    <i>Ingenieur Centrale Lyon / Supélec </i>
93160 NOISY LE GRAND    <i>ingenieur</i>  
09 66 11 10 93       Expertise en instrumentation industrielle, 
06 44 25 90 09     automatisation <i>ingenieur & marketing opérationnel </i>
email.email@wanadoo.fr   Bilingue anglais  <i>ingenieur</i>

您可以使用:

(?mi)^((?![0-9]+-[0-9]+).*?)(\bingenieur\b.*)

关于图案

  • (?mi)多行和不区分大小写的标志
  • ^字符串的开头
  • (捕获组
    • (?!负向前进,断言右边的是不是
      • [0-9]+-[0-9]+匹配1+个数字,一个连字符和1+个数字
    • .*? 关闭否定前瞻并匹配除换行符非贪婪以外的任何字符
  • )关闭捕获组
  • (\\bingenieur\\b.*)捕获组,其匹配词边界之间的神经元直到字符串的末尾

您可以在代码中使用启用多行和不区分大小写的标志,例如:

String sTofind = "ingenieur";
String regex = "^((?!>[0-9]+-[0-9]+).*?)(\\b"+ sTofind + "\\b.*)";
String string = "...";
Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(string);
String result = matcher.replaceAll(subst);

正则表达式演示 | Java演示

然后,如果您也想强调一下,也可以用experiences代替工程师。

并替换为两个捕获组,您可以在其中突出显示第二个组:

$1<i>$2</i>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM