正则表达式找到或返回第二个

时间:2014-12-05 23:13:45

标签: php regex

我有这样的文字

`state`.`stateID`

我想写一个正则表达式来选择第二部分,stateID和我在正则表达式中表现不佳,任何人都可以帮我解决这个问题吗? 它只是一个例子我实际上想要每个给定字符串的第二部分

3 个答案:

答案 0 :(得分:1)

例如,如果你有:

`Alabama`.`AL`
`Alaska .`AK`
`Arizona`.`AZ`
`Arkansas`.`AR`
`California`.`CA`

使用此正则表达式捕获第二个文本:

/.+`(\w+)/g

答案 1 :(得分:1)

这是一种方式:

$re = "/`([^`]+)`/"; 
$str = "`state`.`stateID`"; 

preg_match_all($re, $str, $matches);

print $matches[0][1];

<强>输出:

`stateID`

<强>解释

[^] +` - 匹配一个或多个非引号字符。

() - 对匹配字符串进行分组

答案 2 :(得分:0)

$re = "/`([^`]+)`/"; 
$str = "`state`.`stateID`"; 

preg_match_all($re, $str, $matches);

print $matches[0][1];
     

<强>输出:

`stateID`
     

有没有办法只返回stateID而不是`stateID`

当然 - 只需使用$matches[1][1],而不是$matches[0][1]