PHP Regex заменяет несколько вхождений, не заключенных в строку [duplicate]

Возможно, это немного сложнее, но вы можете использовать веб-сервер для маршрутизации запроса. С nodejs вы не имеете этой проблемы. Я не эксперт в узле js. Поэтому я не знаю, является ли это чистым кодом.

Но это работает для меня

Вот немного примера:

NODE JS

var rp = require('request-promise');
var express = require('express'),
    app = express(),
    port = process.env.PORT || 3000;
var options = {
    method: 'POST',
    uri: 'http://api.posttestserver.com/post',
    body: {
        some: 'payload'
    },
    json: true // Automatically stringifies the body to JSON
};
app.get('/', function (req, res) {
        rp(options)
        .then(function (parsedBody) {
            res.send(parsedBody)
        })
        .catch(function (err) {
            res.send(err)
        });
});
app.listen(port);

JS

axios.get("http://localhost:3000/").then((res)=>{
    console.log('================res====================');
    console.log(res);
    console.log('====================================');
})
3
задан Gowri 9 April 2014 в 14:12
поделиться

2 ответа

Вы можете использовать это регулярное выражение:

$s = '"apple google" AND bing NOT yahoo "word a-b"';
$r = preg_replace('/(?=(([^"]*"){2})*[^"]*$)(?<!AND|NOT|OR) +(?!-|AND|NOT|OR)/i', 
                  ' ## ', $s);
echo "$r"; // "apple google" AND bing NOT yahoo ## "word a-b"

Это предполагает, что кавычки сбалансированы на входе, поскольку он обнаруживает текст внутри кавычек, подсчитывая даже число кавычек, следующих в lookahead.

2
ответ дан anubhava 24 August 2018 в 20:25
поделиться

Это работает для вас?

(?<!AND|NOT|OR")[ ](?!-|AND|NOT|OR|[a-zA-Z]+")

Edit

У меня было другое мнение, и это должно работать:

(?<!AND|NOT|OR)[ ](?!-|AND|NOT|OR|(([a-zA-Z])\s?)+[a-zA-Z]")

Изменить 2 Для слов с дефисами в

    (?<!AND|NOT|OR)[ ](?!-|AND|NOT|OR|(([a-zA-Z-])\s?)+[a-zA-Z]")

Редактировать 3

См. ответ anubhava для более удобного подхода:)

1
ответ дан Martyn 24 August 2018 в 20:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: