繁体   English   中英

正则表达式添加文本

[英]regular expression adding text

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

我要编辑的行是

@PJL SET USERNAME =“ john.wayne”

当我使用这个正则表达式

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

我得到john.wayne,但是我在名称前添加了一些文本

例如Stack-john.wayne或溢出-john.wayne

它必须放在一行中,因为程序才支持

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

有人知道这是否可能吗?

这是你想要的吗?

$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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM