Php 需要帮助将图案移动到行尾吗
我一直在用HTML页面上的正则表达式制作自动logcat到sepolicy代码 我的问题是我需要移动Php 需要帮助将图案移动到行尾吗,php,regex,pcre,Php,Regex,Pcre,我一直在用HTML页面上的正则表达式制作自动logcat到sepolicy代码 我的问题是我需要移动{.*}到行尾,我找不到该怎么做 一些例子: 允许{read};恢复rctl\u dumpstate\u道具:文件 其中,{read}需要转到行尾 允许{getattr};恢复组:文件 其中{getattr}需要转到行尾 我从其他人的类似问题中尝试了多个正则表达式 类似于^(.*)({.*?};)(.*)$和replace\1\3\2,但我得到如下输出(奇怪的方块): 而不是我需要的代码。 我需要
{.*}代码>到行尾,我找不到该怎么做
一些例子:
允许{read};恢复rctl\u dumpstate\u道具:文件
其中,{read}代码>需要转到行尾
允许{getattr};恢复组:文件
其中{getattr}代码>需要转到行尾
我从其他人的类似问题中尝试了多个正则表达式
类似于^(.*)({.*?};)(.*)$
和replace\1\3\2
,但我得到如下输出(奇怪的方块):
而不是我需要的代码。
我需要它是PCRE(PHP)。谢谢 这适用于使用Perl正则表达式语法的Python3
重新导入
>>>re.sub('^(.*)({.*?};)(.*)$',r'\1\3\2',allow{read};recovery rctl\u dumpstate\u props:file')
'允许恢复rctl_dumpstate_props:file{read};'
您可能需要对空格进行调整,但其要点是捕获3组(前缀、大括号之间的文本和后缀;然后交换它们的位置。我猜您没有正确使用preg\u replace
。尝试一下:
$texts = ['allow { read }; recovery rctl_dumpstate_props:file',
'allow { getattr }; recovery rcgroups:file'];
foreach ($texts as $str) {
echo preg_replace('/^(.+?)( { .+? };)(.+)$/', '$1$3$2', $str),"\n";
}
输出:
allow recovery rctl_dumpstate_props:file { read };
allow recovery rcgroups:file { getattr };
通常,您应该捕获组并交换他们的位置。看看您尝试了什么?什么不起作用?您得到了什么?您期望得到什么?我尝试了搜索:((\w+)(\w+)替换:\3、\2、\1并在stackoverflow上浏览了所有内容,但没有一个答案有效。您使用的是什么语言/工具?并用替换前后的字符串向我们展示您的尝试。好的,我将编辑我需要用html做这件事;;您是说javascript吗?不。php基本代码是logcat=logcat.replace(/regex/gmi,“replace with”);logcat=logcat.replace(/regex/gmi,“replace with”);
看起来不像PHP。在询问与regex相关的问题时,应该添加一个额外的标记,该标记就是所使用的语言。