我有例如這樣的字符串 - 「第7路」或「第7個數字一些其他的單詞」或「一些單詞第8個單詞」。需要正則表達式幫助PHP
我需要首次出現的數字和所有其他下一個符號第一次出現的空間。
因此,對於上面的例子,我需要這樣的值「第七」,「第七」,「第八」。
然後從這些匹配像「第7」我需要提取其他操作中只有數字。
在此先感謝!
我有例如這樣的字符串 - 「第7路」或「第7個數字一些其他的單詞」或「一些單詞第8個單詞」。需要正則表達式幫助PHP
我需要首次出現的數字和所有其他下一個符號第一次出現的空間。
因此,對於上面的例子,我需要這樣的值「第七」,「第七」,「第八」。
然後從這些匹配像「第7」我需要提取其他操作中只有數字。
在此先感謝!
正則表達式應該是/(\d+)([^\d]+)\s/
和號碼將解析爲$1
和結束字符$2
示例代碼:
$string = '7-th Road';
preg_match_all('/(\d+)([^\d]+)\s/', $string, $result, PREG_PATTERN_ORDER);
var_dump($result[1]);
array(1) {
[0]=> string(1) "7"
}
var_dump($result[2]);
array(1) {
[0]=> string(1) "-th"
}
謝謝!這是完美的工作!只有一個問題:這可能與這些後綴無關,可以是任何符號嗎? –
你是什麼意思?你在尋找7,9,15嗎?然後只是數字? –
那裏。爲你增加了額外的搜索。 –
如果你想獲得從文本只是NUMS使用它:
preg_match_all('/(\d+)[th|\-th]*?/','7-th", "7th", "8-th', $matches);
但是,如果你想刪除「日」或其他只是做更換:
preg_replace('/(\d+)[th|\-th]*?/','$1', 'some string')
不確定最後一個...
你到目前爲止嘗試過什麼?一些更清晰的例子,以及您目前使用的代碼將幫助我們幫助您。 –