0

我想使用正则表达式匹配 JavaScript 中的以下术语。

String = 'abc AND def AND igk AND lmn'

要匹配的词: first 之前和之后的单词AND

例如,在上面的字符串中,匹配部分将是 : abc AND def

我想用 JavaScript 来做。所以我会打电话

string.match(/regex to use/)

并将其分配给一个var。

请有任何建议。

编辑:

字符串可以是如下形式:

    string = 'AND abc';
    string = 'abc AND';
    string = 'abc def AND igk lmn';
    string = 'abc def AND';
    string = 'AND igk lmn';

感谢您在这方面的帮助。

4

2 回答 2

3

你可以试试这个正则表达式:

/(\w+\s+AND\s+\w+)/

编辑(在阅读了您的最后一次更新之后):如果左右术语是可选的,请改用以下正则表达式:

/(?: (\w+) \s+)? AND (?: \s+ (\w+))?/x
于 2012-05-22T11:27:10.497 回答
1

对伊戈尔的版本略有改进:

   var m = str.match (/(\w+)\s+AND\s+(\w+)/);
   // word before AND in m[1], word after AND in m[2] 

自动提取这两个词。

于 2012-05-22T12:22:10.797 回答