【问题标题】:pcre regex translate words not inside but outside stringpcre 正则表达式不是在字符串内部而是在字符串外部翻译单词
【发布时间】:2013-10-09 13:25:47
【问题描述】:

我有一个小问题 我需要将单词从...翻译成... 但不在字符串内

“你好”必须是你好而不是翻译

问题是: “富”吧 使用 pcre reg exp 我可以在里面找到任何单词 一个字符串:

  "/^[\"]".$pattern."^[\"]/"

但是 foo 我翻译正确 确实吧它没有翻译,因为上一个字符是“ 我必须写:

"foo" bar --> 字符串后面的空格 ... 相同的短语,但字符串之间有空格 和其他词

你能帮我正确的正则表达式吗?

【问题讨论】:

  • 所以你只是想匹配双引号之外的单词?

标签: php regex pcre


【解决方案1】:

不清楚你在这里问什么。我假设您想匹配不在引号中的单词"

这是一个示例,说明如何做到这一点。

<?php

$str = <<<STR
"foo"bar
"foo" bar "foo"baz "bar"  foo
STR;

preg_match_all('/[a-z]+(?=(?:[^"]|"[^"]*")*$)/i', $str, $matches);
print_r($matches);

输出

Array
(
    [0] => Array
        (
            [0] => bar
            [1] => bar
            [2] => baz
            [3] => foo
        )
)

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 2021-10-02
    • 1970-01-01
    • 2014-01-02
    相关资源
    最近更新 更多