php - 如何解析这些字符串

标签 php regex parsing

我在清理 XPaths 结果 (php/domxpath) 时遇到一些问题。通常我会尝试使用正则表达式来实现这一点,但我注意到这里有很多反正则表达式的建议,所以我想问是否有更好的解决方案来解决我的问题。

分隔城市和邮政编码

Xpath 传送“10021 New York City”。邮政编码和城市有所不同。我如何最好地分割这些?

从 URL 中提取信息

Xpath 提供“http://www.whatever.com/?k=5000+z=6000”。我如何最好地提取“k=500+z=600”?

从较长的文本片段中提取信息

Xpath 提供“总大小可能为 3130ft² 或更大”。唯一一致的模式是数字后跟 ft²。

最佳答案

1.

if (preg_match('/(\d+) (.*)/', $subject, $regs)) {
    $zip = $regs[1];
    $city = $regs[2];
}

2.

if (preg_match('/[^?]*$/', $subject, $regs)) {
    $size= $regs[0];
} 

(尽管实际上您应该使用 URL 解析器)

3.

if (preg_match('/\d+(?=ft²)/', $subject, $regs)) {
    $result = $regs[0];
} 

关于php - 如何解析这些字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14013130/

相关文章:

PHP $_POST 和 id,没有名字

php - 按标签选择博客文章

python - 如何在python中使用带有可选字符的正则表达式?

java - 精确匹配同一字符的 N 次重复

html - 在 hpple 和文本中获取 HTML 标签?

java - 如何使用 DOM API 访问 XML 节点的值

c++ - 帮助解析S-Expression

php - 为什么将代码从 mysql 切换到 mysqli 后 mysqli_data_seek 不起作用?

php - 将javascript变量存储在mysql数据库中

regex - 使用正则表达式查找文件名中不带下划线的文件