$text1='PHPSESSID s553nnl2dds7d0csg0g3ltnnl5 TIME 130000789'; //间隔为'\t'
$text2='USERID 80093'; //间隔为'\t'
怎样用正则表达式分别取出s553nnl2dds7d0csg0g3ltnnl5和80093?
php中正则表达式匹配字符串并输出
答案:2 悬赏:0 手机版
解决时间 2021-04-14 12:56
- 提问者网友:了了无期
- 2021-04-14 00:42
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-04-14 01:56
用explode更方便,例如:
$str=".....\t分割的字符串";
list($t,$r)=explode("\t", $str);
echo $r;
上面的$t是用来占位的,代码执行后$r就是我们需要的第二个字段值
$str=".....\t分割的字符串";
list($t,$r)=explode("\t", $str);
echo $r;
上面的$t是用来占位的,代码执行后$r就是我们需要的第二个字段值
全部回答
- 1楼网友:拜訪者
- 2021-04-14 02:43
正则表达式:
(北京时间.*?分).*?发生(.*?级地震).*?(震中距.*?公里)
是这个意思么?
代码:
using system.text.regularexpressions;
string text = "北京时间2013年4月20日8时02分四川省雅安市芦山县(北纬30.3,东经103.0)发生7.0级地震。震源深度13公里。震中距成都约100公里。";
string pat = "(北京时间.*?分).*?发生(.*?级地震).*?(震中距.*?公里)";
regex regex = new regex(pat);
matchcollection mc = regex.matches(text);
foreach (match m in mc)
{
for (int i = 0; i < m.groups.count; i++)
{
console.writeline(m.groups[i].value);
}
}
//注:groups[0]的值是整个匹配的字符串,groups[1]--groups[3]的值就是正则表达式中匹配的三个括号里的内容,就是你的问题中的那三个字符串。
输出:
groups[0]=北京时间2013年4月20日8时02分四川省雅安市芦山县(北纬30.3,东经103.0)发生7.0级地震。震源深度13公里。震中距成都约100公里
groups[1]=北京时间2013年4月20日8时02分
groups[2]=7.0级地震
groups[3]=震中距成都约100公里
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯