在重复单词之前包括字符串

时间:2017-10-31 11:58:42

标签: javascript regex

你好我正试图在 OR 之前得到这些词。所以给出了字符串:

$session = New-PSSession -ComputerName $serverName -Credential $mycred invoke-command -Session $session -ScriptBlock { param ($argxs) write-host $argxs; start-process msiexec.exe -ArgumentList $argxs } -ArgumentList "/i `"$pathToMsi`" /qn /L*V `"E:\package.log`""

我想得到:twitter OR facebook AND NOT (hello OR p )twitter

以下是我的代码。我到目前为止尝试的是获取hello字符串,但我得到的是“或者facebook和NOT(你好”而不仅仅是twitter

hello

3 个答案:

答案 0 :(得分:1)

你可以这样做:

var string2 = 'twitter OR facebook AND NOT (hello OR p )',
    result = string2.match(/\w+(?=\s+OR)/g);

console.log(result)

答案 1 :(得分:0)

一个懒惰的答案(因为你需要的单词是小写的):

var a = "twitter OR facebook AND NOT (hello OR p )";
arr = a.match(/[a-z]{2,20}/g); 
console.log(arr);

答案 2 :(得分:0)

一个直接的问题是,通过使用(.+?),您可以选择在OR之前出现的每个字符。这将包括空格和括号。基本上在第一个OR之后和第二个OR之前的所有内容都被选中。

您可以将其更改为\w+?以仅选择字词。

第二个问题是,您需要在OR关键字之前至少检查空格,但之后也可以检查空格,以便它不匹配OREGAN或{{1}之类的单词}}



BORING