2017-05-18 11 views
-2

2種類の文字列があります。正規表現分割3文字列と2整数

一つは、他のタイプは、私がこのよう

Text Text Text+24 
2009 
2 

OR

内の文字列のこれらの2つの類型を分割したい

Text text 2005 2 

あるこの

Text Text Text+24 2009 2 

のようなものです

Text text 
2005 
2 

テキスト部分は異なる場合がありますが、いずれの場合も最後に2つの数値があります。

EDIT:

^(.*?)\h+(\d+)\h+(\d+)$ 

RegEx Demo:私はその

preg_match_all("/.*?\\d+.*?(\\d+).*?(\\d+)/is", $txt, $matches) 

ような何かをしようとした残念ながら、私はあなたがpreg_match_allでこの正規表現を使用することができます正規表現

+2

アイデアがある....あなたは何かをコーディングし、あなたはそれが仕事を得ることができない場合は、....我々は助けます。あなたのためにすべてをやるようにお願いします。 – RiggsFolly

+0

最初のコメントを編集します。ありがとう:) – DarkKikies

+0

'preg_match( '〜^(。*)\ s(\ d {4})\ s + d)$〜 '、$ s、$ matches) ' –

答えて

3

と連携する方法を理解することはできません

コード:

$re = '/^(.*?)\h+(\d+)\h+(\d+)$/m'; 

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

// Print the entire match result 
print_r($matches); 

正規表現の分裂は:

^ - Start 
(.*?) - Match and capture 0 or more of any character (lazy) 
\h+ - Match 1 or more horizontal whitespace 
(\d+) - Match & capture 1 or more digits 
\h+ - Match 1 or more horizontal whitespace 
(\d+) - Match & capture 1 or more digits 
$ - End 
+1

ありがとう+1。それは完全に動作します。正規表現の仕組みを理解するためのリンクを提案しますか? – DarkKikies

+0

私は正規表現の分割を分割しました。さらに、正規表現のデモリンクを実際に追加しました。このリンクは、この正規表現のすべての詳細についても説明しています。 – anubhava

+1

素晴らしい仕事.. +1 –

関連する問題