javascript拆分正则表达式

时间:2015-09-18 13:19:44

标签: javascript regex string split delimiter

给定字符串时,例如:

daily (similar term)|day-to-day (similar term)|day-after-day (similar term)|every day (similar term)|nightly (similar term)|first-string (similar term)|lawful (similar term)|orderly (similar term)|rule-governed (similar term)|official (similar term)|prescribed (similar term)|regularized (similar term)|regularised (similar term)|routine (similar term)|standard (similar term)|stock (similar term)|timed (similar term)|uniform (similar term)|weak (similar term)|well-ordered (similar term)|rhythmical (related term)|rhythmic (related term)|symmetrical (related term)|symmetric (related term)|systematic (related term)|irregular (antonym)veritable|typical (similar term)standard (similar term)irregular (antonym)scheduled (similar term)usual (similar term)even|steady (similar term)steady|frequent (similar term)standing (similar term)|irregular (antonym)unconstipated|diarrheal (similar term)|diarrhoeal (similar term)|diarrhetic (similar term)|diarrhoetic (similar term)|diarrheic (similar term)|diarrhoeic (similar term)|lax (similar term)|loose (similar term)|constipated (antonym)even|symmetrical (similar term)|symmetric (similar term)normal (similar term)full-time (similar term)habitue|fixture|patron|frequentersoldierfollowersize

如何创建同义词数组,例如

var thisArr = ['daily', 'day-to-day', 'day-after-day', 'every day', 'nightly']

等,但在它说“不规则(反义词)”的地方,我不想包括任何声音(在这种情况下是'不规则')。其他的话(不是括号内的)可以包括在内。但我不想要“|”字符或括号。我试过了

var thisRegExp = /\|(.*?)\|/;

我可以删除“|”得到,例如

"day-to-day (similar term)"

但是我想删除括号内的东西,我猜想括号旁边的任何空格,因为它们不会成为“单词对”的一部分。任何帮助非常感谢。谢谢,MediaMaker。

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式:

([^|()]+)(?= \(similar term|\||$)

DEMO

  • ([^|()]+) - 一个或多个字符,但不是|()来匹配 单词beetween | to bracket
  • (?= \(similar term|\||$) - (类似术语)的积极前瞻, 或者或字符串结尾,仅匹配相似的单词或单词 括号中的描述

获得相似的(没有(similar word))或没有描述的单词。