【发布时间】:2011-09-25 12:00:00
【问题描述】:
使用 PHP PCRE 正则表达式我想提取字符串的中心部分,其中任何一方可能出现也可能不出现。即
n bedroom property type in some town
我想使用一个正则表达式提取“属性类型”。我不知道属性类型的所有可能性,但一致的是开始位(它总是'\d 卧室')和结束位(它总是'在某个城镇')。此外,开始位或结束位(或两者)可能不存在。
即主题字符串可以是 ...
6 bedroom ground floor flat in Edinburgh
house in Manchester
3 bedroom apartment
所以想分别提取'ground floor flat'、'house'和'apartment'。
类似这样的东西(不太好用)......
(\s*\d+\s+bedrooms?\s*)?(.*?)(\s+in)?
【问题讨论】:
-
"分别用一个正则表达式。" --- 为什么你想要一个丑陋而复杂的正则表达式而不是几个简单且易于维护的正则表达式?
-
我无法编写任意 PHP 代码作为框架的一部分。正则表达式输入一个只接受一个正则表达式的解析器。