1

次の正規表現を試してきました

$pattern = '/([0-9]{1,2}[.]{1}([a-z|A-Z|0-9]+[\s]*)+)/';

テキスト内の次の出現を検出するために:[number]。[text]、例:1.texttexttext次のテキスト"test number one 1.first 2.second"の結果は次のようになります。

array(3) { [0]=> string(9) "1.first 2" [1]=> string(9) "1.first 2" [2]=> string(1) "2" }

私が書いた正規表現の問題はどこにありますか?

前もって感謝します !

4

3 に答える 3

0

あなたの問題は最後のプラスです。つまり、スペースの後で物事を一致させることができます。そのはず:

$pattern = '/([0-9]{1,2}[.]{1}([a-z|A-Z|0-9]+[\s]*))/';
于 2013-03-13T20:38:09.140 に答える
0

これを試して:

$pattern = '/\d\.\w+/';
$str = "test number one 1.first 2.second 3.third 4.xyz 5.abcd";

preg_match_all($pattern, $str, $m);

print_r( $m );

出力は次のとおりです。

Array
(
    [0] => Array
    (
        [0] => 1.first
        [1] => 2.second
        [2] => 3.third
        [3] => 4.xyz
        [4] => 5.abcd
    )

)

それはあなたが必要なものですか?あなたが一致する必要があるものがうまくいくかどうかわからないので、もう少し説明してみてください

たとえば、次のように言うことができます。

x個の数字の後に。を続けたいのですが。n文字が続く

またはそのようなもの

于 2013-03-13T20:44:26.377 に答える
0

これはあなたがやろうとしていることですか?

\d+[.][\w\d\s]+?(?=$|\s\d+[.])

これは、このテキストの3つのオカレンスすべてに一致します。"1. text test 2. some more22 3. and more"

于 2013-03-13T20:58:46.363 に答える