你好我正试图在 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
答案 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