正则表达式匹配以A开头的单词和行中的最后一个单词

时间:2013-04-21 07:49:52

标签: regex dictionary

我想将正则表达式应用于字典文本格式,如下所示:

[aidwulf] s zool vrsta hijene (Proteles cristata) Aron's beard

[earanzrod] s bot *ivizma (Ver- bascum Thapsus) Abacca

[a'baid'on] vi biti na pomoći, stajati uz *ok abide with

我需要两个正则表达式。首先我需要一个正则表达式来匹配以字母Aa开头的最后一行中的每个字母Aa。在我的示例中,第一个示例中的 A A abide 中的 a 第三个例子。

第二个正则表达式将匹配行中的每个最后一个单词(包括带连字符的双字复合词)和以星号开头的单词。在我的示例中,此表达式将匹配单词胡子 Abacca ,作为行中的最后一个单词,并且 * ok * ivizma 作为以星号开头的单词。

2 个答案:

答案 0 :(得分:1)

第一个正则表达式:

\bA(?=\S*[ \t]+\S+$)

(打开“不区分大小写”和“换行符时^ $匹配”选项)

第二个正则表达式:

\S+$|(?<=^|[ \t])\*\S+

(打开“换行符时^ $匹配”选项)

答案 1 :(得分:0)

First Regex:

我猜你想要以a开头且之前的最后一个单词。

如果对,这就是你要找的东西

\b[aA]\w+\s+[^\s]+$

OR

\b[aA](?=\w+\s+[^\s]+$)

OR

(?<=\s)[aA](?=\w+\s+[^\s]+$)

OR

(?<=^|\s)[aA](?=\w+\s+[^\s]+$)

第二个正则表达式:

 [^\s]+$