我有以下字符串:|Africa||Africans||African Society||Go Africa Go||Mafricano||Go Mafricano Go||West Africa|
。正则表达式匹配(Javascript)
我想写只匹配项包含单词Africa
或其任何deriative(所不同的是|Mafricano|
和|Go Mafricano Go|
含义是所有条款正则表达式,每学期在两个|
之间封闭。
现在我已经出来:/\|[^\|]*africa[^\|]*\|/gi
,它说:
\|
比赛|
[^\|]*
匹配零到任意字符的无限实例除了|
africa
字面上匹配africa
[^\|]*
匹配零到任意字符的无限实例除了|
\|
匹配|
我试过插入((?:\s)|(?!\w))
使其成为/\|[^\|]*((?:\s)|(?!\w))africa[^\|]*\|/gi
。虽然它排除了|Mafricano|
和|Go Mafricano Go|
,但它也排除除|West Africa|
和|Go Africa Go|
之外的所有其他条目。所以这很好,但它也需要包括所有单个单词Africa
及其派生形式。
任何人都可以帮助我吗?
你为什么不使用'replace'?它应该更容易。 – Kai 2014-10-18 08:33:48
@JhKaiz,@AvinashRaj:我需要一个所有匹配项的数组,因此我将使用'match()'函数 – AKG 2014-10-18 08:36:21