0

こんにちは 、

テキストがあり、その中に「start」で始まり「end」で終わる文字列を見つける必要があります。最初の発生のみ。文字列が:

 "just test ... bla ...bla start some txt .... end more text "
"just test ... bla ...bla start some txt .... end more text ".match(/start(.*)end/)

私は正しい答えを得ています、2つの項目の配列:

 array[0]="start some txt .... end"
 array[1]=" some txt .... "

これは完璧です。テキストに「終わり」が1つ以上含まれている場合:

"just test ... bla ...bla start some txt .... end more text  xxxx end blue fff  ...end"

正しい文字列を取得できません。何が起こっているのかというと.match(/start(.*)end/)、最初の「終了」ではなく、最初の「開始」から最後の「終了」までのすべての文字列を返す"start some txt .... end more text xxxx end blue fff ...end" ということです。

"start some txt .... end"

助けてくれてありがとう。

4

2 に答える 2

1
/start(.*?)end/

これ?は「貪欲ではない」という意味で、可能な限り一致しません。

于 2012-05-12T12:49:35.963 に答える
1

欲張りでないマッチングを試してください:

/start(.*?)end/
于 2012-05-12T12:50:14.560 に答える