欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

正则问题求教

程序员文章站 2022-05-07 14:34:38
...

转正工资:
2000-3000元,试用期薪资60%



我想取
..
之间非中的内容,用[^...]好像不好写,我知道可以先把中内容替换掉再进行匹配。除此外有没有只用一个正则就能匹配成功的?

回复讨论(解决方案)

/
(.*?)(?:)(.*?)/ius

/
(.*?)(?:)(.*?)/ius

先匹配出来,然后再替换掉可能效率还高一些。

chinmo你这个正则我怎么试不成功,你测试了吗

$s=
转正工资:
2000-3000元,试用期薪资60%
html;preg_match('/
(.+?)(.+?)/s',$s,$m);echo $m[1].$m[2];
2000-3000元

,试用期薪资60%

chinmo你这个正则我怎么试不成功,你测试了吗
那我不知道你怎么测试的了

$s='


转正工资:

2000-3000元

,试用期薪资60%

';
preg_match('/
(.*?)(?:)(.*?)/ius',$s,$m);
echo $m[1].$m[2];

反正我测试的没问题

$s='
转正工资:
2000-3000元,试用期薪资60%
';preg_match('/
(.*?)(?:)(.*?)/ius',$s,$m);echo $m[1].$m[2];
结果截图:

preg_match("/(.*?)(.*?)/", $str,$arr);
echo $arr[2];

/

(.*?)(?:)(.*?)/is
u 修饰符只对 utf-8 编码数据有效
况且你也没有对中文进行处理

其实这样不也很简单?
preg_match('/
(.*?)/is',$s,$m);
echo strip_tags($m[1]);

难怪呢,我刚刚是gbk编码,难怪会显示不出来

xuzuning的方法不错,原来PHP还有strip_tags这个函数,真是方便多了。

相关标签: 正则问题求教