正则表达式添加文本

时间:2018-02-22 10:59:47

标签: javascript regex preg-match regex-group

我正在尝试从PJL打印作业中提取用户名。我有一个正则表达式,但我需要在用户名中添加文本。

我尝试编辑的行是

@PJL SET USERNAME =“john.wayne”

当我使用这个正则表达式时

@PJL \ S + SET \ S + USERNAME \ S * = \ S * “(\ S +?)”

我得到了john.wayne,但我在名字

之前添加了一些文字

e.g。 Stack-john.wayne或overflow-john.wayne

它必须在一行中,因为这是程序支持的

https://www.papercut.com/products/ng/manual/applicationserver/topics/printer-external-usernames.html

有人知道这是否可行?

1 个答案:

答案 0 :(得分:0)

这是你想要的吗?

$string = '@PJL SET USERNAME="john.wayne"';
$string = preg_replace('/(@PJL\s+SET\s+USERNAME\s*=\s*")(\S+?")/', '$1text-$2', $string);
echo $string,"\n";

<强>输出:

@PJL SET USERNAME="text-john.wayne"