[英]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);
然后,如果您也想强调一下,也可以用experiences
代替工程师。
并替换为两个捕获组,您可以在其中突出显示第二个组:
$1<i>$2</i>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.